From: "Saved by Internet Explorer 11" Subject: DIY MIDI Controllers using PIC Microcontrollers and Basic Stamps Date: Thu, 23 Jan 2014 10:52:27 -0800 MIME-Version: 1.0 Content-Type: multipart/related; type="multipart/alternative"; boundary="----=_NextPart_000_0000_01CF1829.34CBA200" X-MimeOLE: Produced By Microsoft MimeOLE V6.1.7601.17609 This is a multi-part message in MIME format. ------=_NextPart_000_0000_01CF1829.34CBA200 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: file:///C:/Users/R&D%201/Documents/Research/Digital/MIDI/DIY%20MIDI%20Controllers%20using%20PIC%20Microcontrollers%20and%20Basic%20Stamps_files/logo.gif R0lGODlhNgE0APcAACmtITGcMTGtMTmcOUK1OUqlSlK9SlqtWlq9WmO1Y2vGa3O9c3u9e3vOc4TO hIzGjJTWlJzOnKXWpaXepa3erbXeALXetb3evb3nCL3nEL3nGL3nIb3nvcbGvcbGxsbnKcbnMcbn Oc7Oxs7Ozs7nQs7nzs7vSs7vUs7vztbWztbW1tbvWtbvY9bva9bvc97e1t7e3t7ve97vhN7v1t7v 3t73jN73lOfn3ufn5+f3nOf3pef35+/v5+/v7+/3re/3te/3ve/3xvf37/f39/f/zvf/1vf/3vf/ 5/f/9///7///9/////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////yH5BAEAAEsALAAAAAA2ATQA AAj+AJcIHEiwoMGDCBMqXMiwocOHECNKnEixosWGOyJoFHKxo8ePIEOKHEmypEghBwKojGCypcuX MGPKnMlwgcqVNHPq3MmzJ00hDG7i9Em0qNGjSAeiFDq0oBEgUJNKnUq1qsMdKZkGYFkwR4WvFXLM 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 AlYXe5T3kJUJcQEBAAA7 ------=_NextPart_000_0000_01CF1829.34CBA200 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: file:///C:/Users/R&D%201/Documents/Research/Digital/MIDI/DIY%20MIDI%20Controllers%20using%20PIC%20Microcontrollers%20and%20Basic%20Stamps_files/bs2.gif R0lGODdhlgCGAPcAAP////n5+e7u7ufn5+Hh4dvb4dvV1dXOyMjIyNXV287IwcHBu7u7u7u0tLSt pqamn5eXl5CQiYmJicG0rZemiYmXkImCgoKJeXl5cbu0n62ml5+ml2lpYZCQgi+CcWFxYWmJeQCJ eVdXV8HO2wB5YXmXiZ+mtCOQgp+QcWmCaTufkEVXRXmmlwCXiSNxYQBpVwCQgi9ORSNOOyMjI5CC aQAAAE5OTjs7O5CJgkVFRWFpcUU7O3GCkGlxea27zrSXeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAlgCGAAAI/gABCBxI sKDBgwgRCgiQsKHDhxAjSpxIsaLDAAcoHBBgsaPHjyBDShQwYMIBAAQIiFzJsqXLgwcGHOjAkYCG DC9z6twZ8aSBDAMGGAhAw0aBAEgZ8lzKtOUDEAIEKHDwgMAAABo+DIgatanXrxUdhCDxwQAAAw+u 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 ------=_NextPart_000_0000_01CF1829.34CBA200 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: file:///C:/Users/R&D%201/Documents/Research/Digital/MIDI/DIY%20MIDI%20Controllers%20using%20PIC%20Microcontrollers%20and%20Basic%20Stamps_files/PIC16c84.gif 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 HlA5ZYyHN/ahOY+sUonvUmx5EumEFvtMzU+a40y5aKSgO4nvkCkKl3ZQiEn66DFQsOWGN+YiwYM8 kzd1LI89xZWDZkXMsD3qlL165ST9nCuFjNWVEt0ZuyyZ0W9qScxLhBZai2TokFY7Ue+qd9ekSTRN i8LTMa/DMcqqtj71QrBp7AEdcNBDNaE9iJY41MCwYuZV7aGpiVRE3h5KMqOtNZc7R1Sh7U3qvcp0 ooSV+MFT2StcdqEpfsYrHxZtKIWzyY5hcTiZwiiILlSEklQkLNwGFRCCAoZUW2Q33kvBZ14M3tTU NqQfLlHntx1zzqpW+Lek8BTGIoRLlSVDGAZFhp3qQk6I5sUhACUHT5XlD1Gu5fvaVLkjV11MVUzO kZBzWO4gO+gzWPxsEJR0RbzvCMg+ysITjpWEAI2DG5ClFjilmAc5XSkUPd8SlsZAV7aB+4mgwrGQ CXSEtzoYSElgGuiZ5iRhAzvIUDaCjqY5Vh82AZk9FL3nQU+Rnt4gSUv0dqmbrMMbaDJI4ACAk4sk 2ogDmADZHNCAalvbAWZIwLWp3QAHGK8CDvB2AxhwbWJQwNrXboA1KGAAbld7FmyABCkY4O5q22Hb Cwj3BdDN7TNogdoOeEC4Ax7tCShs3ON2t7kfQAYXdPsQD1hFJUiB8Go7IBPnrjjC/8Duer9i3FoY t7ZfQe4G3PvaC7C3HYfCXXKTYxwKAte3tOWgVwZgYuFaw4IsmECtVjRAFja/g81HMW5yy0IWOP/5 z1+R8pc/gOkkh0UWKhH1qO+76tVe+AMUUG97m6F3Cl03IBIdkXf0YHeWE3sFNmdXFVzgWhbhl9Yl QLCBRQEDlhNC1jJQPYLVQAg7mDsKBk/4whv+8IhPvOJPEAEAIf5rRklMRSBJREVOVElUWQ0KQ3Jl YXRlZCBvciBtb2RpZmllZCBieQ0KYW4gdW5pZGVudGlmaWVkIHVzZXIgb2YgYW4gdW5yZWdpc3Rl cmVkIGNvcHkgb2YgR0lGIENvbnN0cnVjdGlvbiBTZXQAIf7qVU5SRUdJU1RFUkVEIFNIQVJFV0FS RQ0KDQpBc3NlbWJsZWQgd2l0aCBHSUYgQ29uc3RydWN0aW9uIFNldDoNCg0KQWxjaGVteSBNaW5k d29ya3MgSW5jLg0KQm94IDUwMA0KQmVldG9uLCBPTg0KTDBHIDFBMA0KQ0FOQURBLg0KDQpodHRw Oi8vd3d3Lm1pbmR3b3Jrc2hvcC5jb20NCg0KVGhpcyBjb21tZW50IHdpbGwgbm90IGFwcGVhciBp biBmaWxlcyBjcmVhdGVkIHdpdGggYSByZWdpc3RlcmVkIHZlcnNpb24uACH/C0dJRkNPTm5iMS4w AgEADgEAAgACAAAAAAAAAAAAAQAAOw== ------=_NextPart_000_0000_01CF1829.34CBA200 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: file:///C:/Users/R&D%201/Documents/Research/Digital/MIDI/DIY%20MIDI%20Controllers%20using%20PIC%20Microcontrollers%20and%20Basic%20Stamps_files/midicircuit.gif R0lGODlhXgF2AIAAAAAAAP///ywAAAAAXgF2AAAC/oyPqcvtD6OctNqLs968+w+G4kiW5omm6sq2 7gvH8kzX9o3n+s73/g8MCofEovGITCqXzKbzCY1Kp9RqBYC1ardTLMDgPWQRXzD3jGaWzeX12pyO y4Pvb1uceM/3fFod7pbXN0jo8gdIhle4yEhyiMgWYFfk1TYmGUZR+aCXF9bZ6LEpGQGKsjl6iWmn SqcYiAFroWcauiHLWWubAXvXkDmpSIoJlmX5WJy8SryquxvI2krqvDv7CrcATZuJB80ALOgbPFyt 4I3r2yKtbE69Mzpc6y0IOHbnPP6JiFsuBo4Ob8U6Zu0EVjqI8GA2c8LoTWMYidwkfPEi3mvYD1tE /nKJ1A386K5DSIgOi7nhZlKjyZPR4qmCd6ziNJQZVeZb6FFawJWneKEZWfMdq3Y6aRLkAJTklqRB b1x6aYlMVKkJq1o1eqWpnKtcu3r9ilCq2KP26oD9ektrnLNs24L1xI4ZVH8gmHaEYFetjoE5isYt O5avz1jZXqb0ZE/v3rw2djYrKHiwNZyQOEpULFSJ481YRbk19YfW3YmdMRtcAvJbZKeJRAubiNE0 i9U/Uhce0qtkqsuyX9DuLfI1RtH8gKf4bZxXYn+diMdObgJ5ktK4oRuRXgPYU9eWr1unxHhGaGzc v5u/fWQ87+fnz2Nv3DFd+fb03/sZrbE4fffh/n3flfnQOPu1B1VYEuz2C3WFGaMdVcsMWF9LC+LF 3n8QXnjKb4KdQ1N/GH5YCihYydPNeg9qAlqKIC7i4WMOiQhjYvolZVtBKzpy0jIwFcgSR9uspos7 U+H3jVIPqYSkA53VeGMI21XGjyxDIkPhL6XERZ6VJR3pI3acFWVfk5wEWBmA+e1zJmLMAQiYknQR NeZsQyHWnFFhqtZiNbCJE59ukAj44DwbXeTmmnCpWaEIT74511HNfGZgd9DxaWY6acoH2mVmsQQo SVFyB2mojSrTKI+iwlTfn1naJJyPRQoqE5V+2gTqqZ8dWqpZb4qSaG/EMbjdpj0is+OwryxH/pmJ jqKToY25Bpang2I+8aON0vYanZ3aOjqtLSMhF+0V2oIZbojGYNstDN9+GwOT10bXkH7p3meotYgm qYK7u57ALL7zyiAlei+iuxUqT0n6r3itHjqwv4Q0t5Fa5WYF76oME4lwIRBzqdXEGSer6LtjwUnw ICh5rAXKk42w7gQqJ9wXQ1MSiqZcxMzn5IEhvQwzDnWWOec1wZBm2cs779wzFxu7qI+zjw2Fc106 H5j0Up72CWPEZjocHF5CVm21bmV1anOgSPIs5Ndgp0wvv15XuTbb7QqUS5xx301xgnbjzXeIeqvW d+AuAw6y4Ib/PfK+hy+eYI6HMQ6515FGnk6535VfPjXmmivJ8+bz3ul536CHjvfopMdt+ulgp656 0qy3DvPrsP8r++zp1m77tLjn3uTuvK/o++8fBi/8hcQXP+DxyEe4POqhNq/789D3Lv301l+PffaM dK69ngpy330o7IYPYp3Bgk++xikJin76JrdWItfuW8e+svPvh8qxyt/Pf//+/w/AAApwgAQsoAEP iMAEKnCBDGwgDAoAADs= ------=_NextPart_000_0000_01CF1829.34CBA200 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: file:///C:/Users/R&D%201/Documents/Research/Digital/MIDI/DIY%20MIDI%20Controllers%20using%20PIC%20Microcontrollers%20and%20Basic%20Stamps_files/potcircuit.gif R0lGODlhUQGXAIAAAAAAAP///ywAAAAAUQGXAAAC/oyPqcvtD6OctNqLs968+w+G4kiW5omm6sq2 7gvH8kzX9o3n+s73/g8MCofEovGITCqXzKbzCY1KpyqAlYrNTgGHK4JrAGvHZKMXLBaHy+z2D72O d930ug0eSCfU9r4/haem90dYSBI4x6VoZoXmlddY0cinQPkVaWmoFQl5qfg4NDh4MSq5p4naJCq3 wLk4F3d25Si45xg2S5uZyuuymtegBwo5/Aqc6XqKWNrLM9yFvOszCbsrXFl9tiZ9DP0Kx9ys84zL QH44ma6e3orN+pXo3g28TR9MDx5rzy0uw1kZrQoGS3z+UfP0jliaXN9AHcQ3S9/DfuP+eaM08VAG /n5POFKMkQvgs4ydPHg0x+bkxxaPHN6CVs7Tupk0z01QuVJIzZ08e/pUdyloyZguf/bcgDMnEKNM m/60FZOooIUgksKLYFWpr6wsMb6UKtTmxrEir1rEpU1rVyUk234akRWZWVh0uarVIHbpWYUi7T5w eq5WwavdSN4NkVevuWh+Vwg+VXeevcMiEr8J2Kqx42qQ0eZLSNmk5tASRjEbHI40B8uqkaZFK68e 6NYbR9OGYPu2aN0ocvN2/Tv4GNYwhRtXjNXw8eV3uK1jDr1isOfRqzd3QN26dpDOlW//3tsaO/Dk WQRmWD49IK+11Lsnhbmo7/fgz0fdSz//Tfud/sbr/7/fSJjMBGCBf71lC3p8QWUggC1N5RlYMtHU 4G1NCVWORbJMSGGFrV0YFjUbFjeUh8dZJmCEJbkUlYkn2uWfikER5yJlNPaFY4Lz1ZjKjTItttiO PGriIzElYsjgkMb5iJ+S9NHYpJNPeuSdlO8lVqWVV/JTpJbbdenlf2AiNZ1cYfYoJGGvdUbQZBqd GcSYyUnUDmF0nZAmnFXlqc887d1Zz0MPyiajK3zqudqhy7g5mDL74ANPMfEQiqgziko0EqCBJmKo MZFdU2kPcmJF52SLeLoppZ+p+eihodaG54imKRjpo0Yayd5Cqb1Kw6hIuMprZcCOEywjxdbo/uux 0CWr7HLMNrvksNAe9uy0v1VrbUptZraXUdlShAeJnXF71LfihMsZpX3xZO65CYX7SZTthoZun5LN Gxwi9qKqI7v48tISbOxI4+2/aqlUsME5NYatwm0wLK3DUGjWsMQLR2wxkRhnXEjFHPfj8cfNhCwy wBuXbAfJKGu8cnQqt0zIyzD7IfPMKZ9sMxk15+zGzjxr+3O+OAdNhc9EbzL00VEYrXTRSTftBNNQ L/301EtIbXXUVWf969ZcG/v1XViHncTYZB9h9tlFpK12KF63fRncGgP2ttyx0m13GXSznXfffv/t D+APy+um4FicVLfhcOW4oOKHCzxp4Y5PK1wroYlPXlXkxlyO+QciZsN356KPTnrppp+Oeuqqr856 666/Dnvssi9XAAAAOw== ------=_NextPart_000_0000_01CF1829.34CBA200 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: file:///C:/Users/R&D%201/Documents/Research/Digital/MIDI/DIY%20MIDI%20Controllers%20using%20PIC%20Microcontrollers%20and%20Basic%20Stamps_files/piezocircuit.gif R0lGODlhfwGhAIAAAAAAAP///ywAAAAAfwGhAAAC/oyPqcvtD6OctNqLs968+w+G4kiW5omm6sq2 7gvH8kzX9o3n+s73/g8MCofEovGITCqXzKbzCY1Kp9Sq9RoDYLfcLgMA1gbEG/JXYfaq10ByWvNO xNn0+s49NoD1+3FfLhbotkeYJzhnl6hYgqcVeOAI6RdpmFcp6adnucjZyRimGfa4mSZqCGo2eunJ 2spRukmKObsaq0rpmqs7ATvp+wtICfqLe7h7jJysvMzc7PwMHS09TV29hGid3SmKLdGtDZ747R1e 3trIx9c3bIpH/DhuLl80KCfrvopr6Rg/7x+Ez5e7W/cQtPuHkAk+eLOKFaTVL6HEHAFRSWKHcZ1G /n0TO3r8CDKkyJFS4g0jiVJhrEmpaKX8yO0kQI4N7b3sGDNnRBiRVNmyeRMhty+meDDspclgUKF/ HsjEoVMp0J1Lnz112lSHMJc9V1bVdhVCWBsO36DK6qroyaK8xroMRtOTW6xUv1IY+JZX3ghIz6G9 +9duB7xeDa77mXTjvqalBKnLxJJLYMCCRxBG1Khx1rJEfV5imNTKX51sDdMIjLquuLWh0Vx0nfhw rQXFCu2TdWU0ad2n56SWvHs3bdiFH0r9/LrbVuT5sEyu8DzF2N/OMcTRDOkpOzRrCdmWydbYKH7R mzAOHjW7jNLqzM41n0H1EflGzqOPaZonP+5o/tlD9uAfCvTRR08X51Gm3gt/HPgfZJvdB2GEEk5Y RkITXpheOm0ZhmGH+CWoIYP2eUhiiRlaZ6GJF+bnTSoqegiIhiG6CCKA71kGBznSlPcBgy2yuEJ/ jiUoIoFE8RQfbYw9Bldri/BoI4cU1jiDf1buJwKUOF7gm1QB4caKlq+4uCKV6111pZgI6ofhGa8d V1CAaqhZhpEykuVbnnYq+URLfaHz5Rp0wnFdcHxCleeRJAxqFCZ/bhfonHv+yB9ph+7C6B01OQlL pF5kap2RoBo4aZWyMQlnc3aMasGNDriqCKtaWSMrdIzCGmupZNGqa4tU4ZprZWeyCVivohkr/iyl CkIJ7JPIJivWs3zJOVQztUJra2/oQXMtthvi+WE03Xo7LbnZmqvCuEGpi66i7dL1roDSjtRsvK3O Sy+79t65r7v99ogvSvX+24C+S8lJ8JoJVxowtAanhPDCCi8cscQT/1uxxRfbm7HGG8fbscfKJhyy yK82DNPAJvMrcckmPewPzBAj7Flpngors8DU1kyckw6jDFLG4/ncF7Y5Bw0raMCsBHQ2R+MErDFA gUnu0ynSOfRxXTXNK8XNWhSKfUsbzTVTVpt79kQlrxyjyGuz3aDH1cKNFdtzw13ivm8TnPe7e5NM Yrt/023x4IQXnjbeOKt8eHtO/Zx41XqR4h15su4tyDjSZTv8GDo+V1a55Up5XpxdoYseypulf3W6 5WAv1rq1mzdeVey063x77kDqTrvtvCP9e+6+Bw818b3PbnxIwyfPFPOEL+/8PNBHb8701Idj/fVg Ia99893Lzf330ocvfvXkl4/9+ehvv77X7QP+Pt/qxz9N9vT7BeP9M+evP0l99w/AAApwgEiYHwFX Ex0DHpAO/VDgAudUqezY74HVEYjqHEhByYzughlUHgdv1sF/HCQ2EwyhCU+IwhSqcIUsbKELXwjD GMpwhjSsoQ1viMMc6nCHPOyhDw9QAAAAOw== ------=_NextPart_000_0000_01CF1829.34CBA200 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: file:///C:/Users/R&D%201/Documents/Research/Digital/MIDI/DIY%20MIDI%20Controllers%20using%20PIC%20Microcontrollers%20and%20Basic%20Stamps_files/ads_data/abg-en-100c-000000.png iVBORw0KGgoAAAANSUhEUgAAAE4AAAAQCAYAAAC4LkmaAAAABGdBTUEAAK/INwWK6QAAABl0RVh0 U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAOASURBVFjD5ZhRSFRBFIa/0JRCcgt8SZAS QfDpSj36sAXFlhQSvgZGIEhS4UtBDxkEViAJhUFUSlEERUUkomAIlb0IGkgYRd1CsQxrQ8iC4Pby 3zgOd3dvZLbQwLB35pw7c+abc87MXYIgIB9qhlINbALKbWcW/aUorcAMEACnMmrlIbhy4CYwDHQC PcBrYFbt0r8MDmAMmM+qkWfg6oA5oCXC1E4BrAj1cwHM4c3ZynNgKq5yAkjmkHsxx4mj54IrUYic y6DuAWUWWK6Qj5kOosob1VjjHFZcN2UYLKnwyVXi6rnGNGt+L857QAHQCzwCxrXQRqNWAPQBd2VP H9Bg5MXAU3lXoDoGrAWmgffSKwTuAwPAE+ALUGnt8WXAuGPnBsFoMkDCvmQWcKFOIsKbE4DngOuR 8WUxmBcBI8AxoFb1tha8FVgJDGkzQvl5Ld4T1E9Am8Zr09ytak+rAgwC7WbuEeCrDYPA+UU7FAhE +JsA0nr2I7wrKXlacl8Q02bHe4FeB9wtzVEdA9xZ5aBa01eh968BXcAPR74K+Cb5RemWG9k88EDt j/K4IukdB44C/cq1a7AL0fM98zxsaHep7ZmQ9hTiLrhAsBCwJmeONJB0wJ3Ue20RoHbLe5oVjne0 0PWO3kudvoMaq9SRDyrsuiQ/YGRTJr9+ELgS6b0FbgjworBJmzgP1E7IWxoicle7ZIFAu+B80x4W 3KTxOj8ix9XIS+aAdeb9qlQqFaRSqdC2Q8Zj3Hz4TDnvquTbHPkwcFme5AOfgYMK+VEz74zAFcqm VwrvRaVJC7IlbXJal+NxSQOrwfEu1+MSzgLD0G2PAAfQIf1RYKNjU71kLYIcAI8VjuuV2xakVwN8 ByaAncB24LQ2ZYcJzyPmcKhyvG9Wz9cl7xbw8OBZBMeGrm/C0nfymW/qeIYc55tciPHUX6AzHPF7 FYZpXYTb5GX9Wnij9LcoL75Q0p90bgSbFV6TwDt5zZ6INHBGNg0JyArNvQBcMQdNoBAeBS5hTr5M d7qE0fGce1Uyyz0u6j7XbkFmuRsV6VMrzGv19tDIdo+L+XVSpU0Z1GExIDAjUSFpbFotkMtaemVc w1J8tfxBKVAO6zZ9tcAF2VdJnhXP9cB/BK5OgPY7/fvUXxxrlHz5Vl1GcIXmT4NmheAu4CFwIvYo /yG48B+YDuXbCV18635ngJ+og1hiEd8S4QAAAABJRU5ErkJggg== ------=_NextPart_000_0000_01CF1829.34CBA200 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/Users/R%26D%201/Documents/Research/Digital/MIDI/DIY%20MIDI%20Controllers%20using%20PIC%20Microcontrollers%20and%20Basic%20Stamps_files/ads_data/graphics.js (function(){AdSenseGraphics.POS_TOP_LEFT_=3D0;AdSenseGraphics.POS_TOP_RIG= HT_=3D1;AdSenseGraphics.POS_BOTTOM_LEFT_=3D2;AdSenseGraphics.POS_BOTTOM_R= IGHT_=3D3;AdSenseGraphics.X_INTERCEPT_TOP_=3D0;AdSenseGraphics.X_INTERCEP= T_BOTTOM_=3D1;AdSenseGraphics.Y_INTERCEPT_LEFT_=3D2;AdSenseGraphics.Y_INT= ERCEPT_RIGHT_=3D3;AdSenseGraphics.USER_AGENT_=3Dnavigator.userAgent;AdSen= seGraphics.IS_OPERA_=3Dtypeof = opera!=3D"undefined";AdSenseGraphics.IS_IE_=3D!AdSenseGraphics.IS_OPERA_&= &AdSenseGraphics.USER_AGENT_.indexOf("MSIE")!=3D-1;=0A= AdSenseGraphics.IS_SAFARI_=3D!AdSenseGraphics.IS_OPERA_&&AdSenseGraphics.= USER_AGENT_.indexOf("Safari")!=3D-1;AdSenseGraphics.S_CURVE_CLASS_NAME_=3D= "curve";AdSenseGraphics.ROUNDED_CORNER_BG_CLASS_NAME_=3D"rc_bg";AdSenseGr= aphics.ROUNDED_CORNER_BORDER_CLASS_NAME_=3D"rc_border";AdSenseGraphics.SI= GMOID_FUNCTION_WIDTH=3D12;AdSenseGraphics.SIGMOID_FUNCTION_OFFSET=3D6;fun= ction = AdSenseGraphics(){}AdSenseGraphics.prototype.getPixelLeftX_=3Dfunction(a)= {return a};=0A= AdSenseGraphics.prototype.getPixelRightX_=3Dfunction(a){return = a+1};AdSenseGraphics.prototype.getPixelBottomY_=3Dfunction(a){return = a};AdSenseGraphics.prototype.getPixelTopY_=3Dfunction(a){return = a+1};AdSenseGraphics.prototype.computeSigmoid_=3Dfunction(a,d,b){a=3D12*a= /d-6;return = b/(1+Math.exp(a))};AdSenseGraphics.prototype.computeSigmoidInverse_=3Dfun= ction(a,d,b){if(a<=3D0)return d;if(a>=3Db)return = 0;a/=3Db;a=3DMath.log((1-a)/a);return d*(a+6)/12};=0A= AdSenseGraphics.prototype.computeCircle_=3Dfunction(a,d){var = b=3DMath.sqrt(Math.pow(d,2)-Math.pow(a,2));return = isNaN(b)?0:b};AdSenseGraphics.prototype.addStyleRule_=3Dfunction(a,d){if(= AdSenseGraphics.IS_IE_)document.styleSheets[0].addRule(a,d);else{var = b=3Ddocument.createElement("style");b.type=3D"text/css";var = c=3DAdSenseGraphics.IS_SAFARI_?"innerText":"innerHTML";b[c]=3Da+"{"+d+"}"= ;c=3Ddocument.getElementsByTagName("head")[0];c.appendChild(b)}};=0A= AdSenseGraphics.prototype.createDiv_=3Dfunction(a,d,b,c,e){var = g=3Ddocument.createElement("div"),h=3D"position:absolute;overflow:hidden;= left:";h+=3Da;h+=3D"px;top:";h+=3Dd;h+=3D"px;width:";h+=3Db;h+=3D"px;heig= ht:";h+=3Dc;h+=3D"px;";if(e!=3Dnull){h+=3D"opacity:";h+=3De;if(AdSenseGra= phics.IS_IE_){h+=3D";filter: = alpha(opacity=3D";h+=3DMath.round(e*100);h+=3D");"}}g.style.cssText=3Dh;r= eturn g};=0A= AdSenseGraphics.prototype.getCirclePixelIntercepts_=3Dfunction(a,d,b){var= = c=3DArray(4);c[AdSenseGraphics.Y_INTERCEPT_LEFT_]=3Dthis.computeCircle_(t= his.getPixelLeftX_(a),b);c[AdSenseGraphics.Y_INTERCEPT_RIGHT_]=3Dthis.com= puteCircle_(this.getPixelRightX_(a),b);c[AdSenseGraphics.X_INTERCEPT_BOTT= OM_]=3Dthis.computeCircle_(this.getPixelBottomY_(d),b);c[AdSenseGraphics.= X_INTERCEPT_TOP_]=3Dthis.computeCircle_(this.getPixelTopY_(d),b);return = c};=0A= AdSenseGraphics.prototype.getSigmoidPixelIntercepts_=3Dfunction(a,d,b,c){= var = e=3DArray(4);e[AdSenseGraphics.Y_INTERCEPT_LEFT_]=3Dthis.computeSigmoid_(= this.getPixelLeftX_(a),b,c);e[AdSenseGraphics.Y_INTERCEPT_RIGHT_]=3Dthis.= computeSigmoid_(this.getPixelRightX_(a),b,c);e[AdSenseGraphics.X_INTERCEP= T_BOTTOM_]=3Dthis.computeSigmoidInverse_(this.getPixelBottomY_(d),b,c);e[= AdSenseGraphics.X_INTERCEPT_TOP_]=3Dthis.computeSigmoidInverse_(this.getP= ixelTopY_(d),b,c);return e};=0A= AdSenseGraphics.prototype.getSigmoidAntiAliasOpacity_=3Dfunction(a,d,b,c)= {b=3Dthis.getSigmoidPixelIntercepts_(a,d,b,c);a=3Dthis.getAntiAliasOpacit= y_(a,d,b);return = a=3D=3D-1?0:a};AdSenseGraphics.prototype.getCircleAntiAliasOpacity_=3Dfun= ction(a,d,b,c){b=3Dthis.getCirclePixelIntercepts_(a,d,b);a=3Dthis.getAnti= AliasOpacity_(a,d,b);if(a=3D=3D-1)return 0;return c?1-a:a};=0A= AdSenseGraphics.prototype.getAntiAliasOpacity_=3Dfunction(a,d,b){var = c=3D0,e=3DArray(2),g=3DArray(2),h=3Dfalse,l=3Dfalse,f=3Dfalse,m=3Dfalse,j= =3Dthis.getPixelBottomY_(d);d=3Dthis.getPixelTopY_(d);var = k=3Dthis.getPixelLeftX_(a);a=3Dthis.getPixelRightX_(a);if(b[AdSenseGraphi= cs.Y_INTERCEPT_LEFT_]>=3Dj&&b[AdSenseGraphics.Y_INTERCEPT_LEFT_]=3Dk&&b[AdSenseGraphics.X_INTERCEP= T_TOP_]=3D= j&&b[AdSenseGraphics.Y_INTERCEPT_RIGHT_]=3Dk&&b[AdSenseGraphics.X_INTER= CEPT_BOTTOM_]g[1]?g[0]:g[1];c=3D= e+(g-e)/2}else if(h&&m)c=3Dg[0]*e[1]/2;else = if(l&&f)c=3D1-(1-e[0])*(1-g[1])/2;else = if(l&&m){g=3De[0]<=3De[1]?e[0]:e[1];e=3De[0]>e[1]?=0A= e[0]:e[1];c=3Dg+(e-g)/2}return c};=0A= AdSenseGraphics.prototype.createSigmoidCurve=3Dfunction(a,d,b,c,e,g){this= .addStyleRule_("#"+a.id+" ."+AdSenseGraphics.S_CURVE_CLASS_NAME_+" = div","background-color: = "+c);a.style.display=3D"none";c=3Dthis.createDiv_(0,0,d,b);c.className=3D= AdSenseGraphics.S_CURVE_CLASS_NAME_;for(var = h,l=3Db-1,f,m,j,k=3Db-1,p=3D0;p0;e=3Dc-e;d=3Dg?0:d-c;var = f=3Dh?0:b-c;b=3Dthis.createDiv_(d,f,c,c);b.className=3DAdSenseGraphics.RO= UNDED_CORNER_BG_CLASS_NAME_;var = m=3Dthis.createDiv_(d,f,c,c);m.className=3Dl?AdSenseGraphics.ROUNDED_CORN= ER_BORDER_CLASS_NAME_:AdSenseGraphics.ROUNDED_CORNER_BG_CLASS_NAME_;for(v= ar = j=3De,k=3Dc,p=3De,n=3Dc,r,s,t=3Dc-1,q=3D0;q= 0){f=3Dh?c-r-k:r;f=3Dthis.createDiv_(d,f,1,k);m.appendChild(f)}for(o=3Dp-= 1;o0?a.token:null;for(var b=3D0;b0)this.aa();else = if(a=3D=3D1&&(this.j||this.c0||a=3D=3D1&&(this.j||this.c0){i(this.b,this.b.k);this.o[2][p].display=3D=3D= "none"&&this.M(0)}else{i(this.b,null);this.N(0)}if(this.j||this.c =20 DIY MIDI Controllers using PIC Microcontrollers and Basic = Stamps=20 =20 =20 =20 =20

DIY MIDI controllers
using PIC microcontrollers and Basic = Stamps

Ross Bencina
home=20 page email
Page last updated 6 June 2007

3D"AudioMulch
=20 =20

Introduction

By combining a PIC microcontroller or Basic Stamp II with a few = passive components it is not difficult to construct your own knob box, trigger = box, or=20 other MIDI input device. A knowledge of electronics may be required for=20 interfacing to some sensors. Both the Stamp and PIC provide an = economical (under=20 US$100) entry point into the world of alternative MIDI controllers.

This page was created to provide a starting point for people = interested in=20 building their own MIDI control devices using Microchip PIC = microcontrollers or=20 Parallax Basic Stamps. If you have any comments or suggestions please = feel free=20 to email me.

Basic Stamps and PICs


A Basic Stamp consists of a tiny circuit board on which is soldered a PIC = CPU, a=20 timing crystal, and some EEPROM memory for program storage. It provides = 16=20 bidirectional data (digital input/output) pins, which can be interfaced = to=20 potentiometers, a simple MIDI output circuit, A/D converters, etc. As = its name=20 suggests the Basic Stamp executes code written in BASIC, which is = downloaded=20 onto the stamp using a serial interface. Parallax, Inc. manufacture a = number of=20 different Basic Stamp models, the Basic Stamp II and IIsx are generally=20 considered fast enough for MIDI transmission applications, but neither = supports=20 MIDI input satisfactorily.


Microchip Technology Inc. = manufacture a=20 large range of PIC microcontrollers. For small projects the PIC16F84 is = a common=20 choice as it is cheap and uses reprogrammable flash ROM for program = storage. The=20 PIC16F84 chip contains 1k words of program flash ROM, 68 bytes of RAM = and 64=20 bytes of EEPROM for persistent data storage. The PIC16F84 has 13 = bidirectional=20 data pins which can be used in a similar fashion to those on the Basic = Stamp. PIC chips are programmed in assembly language which is then stored onto = the=20 chip using a special programmer. For PC users a parallel port based = programmer=20 for the PIC16F84 can be built for around $30. Both Microchip and = Parallax distribute free PIC assembler software for the PC.

The general opinion is that the Basic Stamp II is a better starting = point for=20 people with little or no programming or electronics experience, as using = a PIC directly requires you to learn PIC assembly language which can be = tedious if=20 you're not into that kind of thing. If you're a programmer or you're = looking at=20 using more than one unit the PIC16F84 is good choice as it's cheap and = can often=20 be made to do things faster than the Basic Stamp. You can assemble a = programmer,=20 a few PIC chips and some power supply circuitry for less than the cost = of a=20 Basic Stamp II.

See Peter H. Anderson's article Working=20 with Stamps and PICs for an extensive discussion of the relative = merits=20 of PICs and Basic Stamps.

Interfacing to MIDI

For both the Basic Stamp II and medium range PIC chips, MIDI (i.e. = serial)=20 output is implemented in software by manipulating the state of a data = pin. On=20 the Basic Stamp this is achieved using the SEROUT command, on the PIC = you have=20 to roll your own MIDI output routine - this can be tricky as the serial = timing=20 is determined by the number of instructions executed and the clock speed = of the=20 PIC, however there are plety of examples available on the web to get you = started.

Neither the medium range PICs (such as the PIC16F84) nor the Basic = Stamp (any=20 model) are particularly suited to simultaneous MIDI reception and = transmision as=20 they do not support buffered serial communications. On the Basic Stamp = II, any=20 MIDI coming in while the Stamp is processing will be lost. On a PIC, = code must=20 be carefully designed to interleave serial reads and other processing at = the sub-MIDI bit level to avoid loss of data.

MIDI input without output is possible on a PIC, but is not described = here -=20 see the links section for some examples. Implementing simultaneous MIDI = in and=20 out, or soft thru / merge is impossible using a Basic Stamp II. It is = difficult=20 to implement on the PIC16F84 and leaves little room for other processing = to be=20 performed. A suggested solution is to use two PICs - one for input and = one for=20 output, or to use a more expensive PIC such as the PIC16C7x which has an = on-chip UART.

MIDI output

Wiring up a PIC or Basic Stamp for MIDI output couldn't be simpler: =

  • Connect pin 4 of the MIDI connector to the desired output pin of = the PIC=20 or Basic Stamp via a 220 Ohm resistor
  • Connect pin 5 of the MIDI connector to the +5V via a 220 Ohm = resistor=20
  • Connect pin 2 of the MIDI connector to ground

=20

Important Note! A couple of people have written to me = suggesting that=20 the pins 4 and 5 on the MIDI output wiring diagram are reversed. I = havn't=20 verified whether this is true or not. You may need to experiment by = swapping the=20 connections if it doesn't work.

See either David B. Thomas' MIDI Sender (Parallax = assembler) or my midisend = (Microchip=20 assember) progam for an example of sending MIDI using a PIC chip. For = the Basic=20 Stamp II see Jeff Mann's MIDI=20 out program for BASIC Stamp II.

If you're looking for information about MIDI, visit The=20 MIDI Technical Fanatic's Brainwashing Center. The MIDI=20 electrical specification diagram along with other useful information = is=20 available from the MIDI Manufacturers = Association=20 website.

Interfacing to variable resistances

Although this section discusses potentiometers (as used with Knobs, = Faders=20 and Joysticks), the information can also be appied to other variable = resistance=20 devices such as Light Dependent Resistors (LDRs) or Forces Sensing = Resistors=20 (FSRs).

The dual input / output nature of PIC and Basic Stamp data pins = allows a=20 simple circuit to be constructed that can measure the value of a = potentiometer.=20 There are two different circuits commonly used for performing this = measurement:=20 the first was used in conjunction with the Basic Stamp I POT command and = is=20 useful on the PIC as source code to drive it is freely available (this = is the version described below). The Basic Stamp II replaced the POT command = with the=20 RCTIME command which requires a different circuit - see the Stamp II = manual for=20 details or John Radenberg's Basic Stamp DIY knob = box=20 page for a functioning example.

The POT method

A measurement is made by first charging the capacitor (making the = data pin=20 output a high), then setting the pin to input and slowly discharging it = (by=20 toggling the pin between input and output). The time taken for the pin = to go low=20 corresponds to the time it takes for the capacitor to discharge which is = related=20 to the resistance of the potentiometer.

=20

The Basic Stamp I POT command performs the above process and returns = a scaled=20 output value. See Scot=20 Edwards' Parallax assembler version of the POT command in The PIC = Source=20 Book for an example of using the above circuit with a PIC chip. =

On a 10Mhz PIC16F84 the above circuit takes 6ms to charge and at = maximum=20 resistance takes 138 counts ( 0.5ms ) to decay. An advantage of the PIC = over the=20 Basic Stamp when multiple pots are used is that all RC circuits can be = charged=20 at once, providing a significant speed increase over sequentially = charging and=20 discharging each circuit.

Interfacing to piezo-electric transducers

In the February 1998 issue (vol. 27, no. 3) of Electronics=20 Today International, an article by Tom Scarff entitled MIDI Drum = Pads describes the construction of an 8 input piezo trigger to MIDI unit = based on a=20 PIC16C84 microcontroller. The unit generates MIDI messages when the = triggers are=20 struck, no velocity information is measured however. Tom's article including source code and schematics is available = online.

=20

The circuit above illustrates the interface between a piezo = transducer and a=20 PIC data pin. When the transducer (or a surface to which the transducer = is=20 attatched) is struck, a voltage is generated which may be detected at = the data=20 pin. Suitable software would scan the data pin(s) and transmit a MIDI = message=20 when a high (1) logic state is detected.

PAiA have some more complex schematics=20 for interfacing percussion sensors.

Further directions

The web contains many examples of interfacing PICs, Basic Stamps and = other=20 microcontrollers to switches, A/D converters and other devices that may = be=20 usefully employed to construct interesting MIDI controllers. Dan = O'Sullivan's Physi= cal=20 Computing Page is a great source of information about mediating = between the=20 physical and digital worlds.

By combining an A/D converter and a multiplexer chip a MIDI = controller with=20 increased resolution, faster update time and a large number of pots, = sensors or=20 other input devices could easily be constructed. For the more = adventurous,=20 Microchip manufactures more complex PICs supporting faster clock speeds, = on-chip=20 A/D converters, timers and serial interfaces.

PIC and Basic Stamp MIDI links

Some of the links below are no longer valid - if you know of the new = location=20 of any of these pages, please let me know so I can update the links. If = you want=20 to access the content of a broken link, try the wayback=20 machine - just enter the URL of the document which wasn't there and = the=20 wayback machine will retrieve an archived version.

MIDI output

MIDI input

Other

General PIC links

The manufacturer of PIC chips Microchip=20 Technology Inc. maintains a large website providing technical = information,=20 application notes and free development software for the PC. Parallax,=20 Inc. maker of Basic Stamps provide mailing lists for PIC and Stamp developers and also have free development software available online. =

Peter H. Anderson teaches PIC and Basic Stamp programming, his Embedded=20 Processor Control web site is a goldmine of projects, kits and other = useful=20 information. If you only look at one other site, make it this one.

Dontronics sell various = PIC related=20 products including the SimmStick development platform. Don maintains a = great set=20 of PIC links and resources, and also hosts an online version of Scot = Edwards'=20 The PIC Source = Book=20 which contains assembly language versions of the Basic Stamp instruction = set -=20 very useful!

Based in the United Kingdom, Russell Warburton's Warburton=20 Technology specialises in the distribution of Parallax Basic Stamps = and=20 other microcontroller based products and development tools.

Many companies manufacture PIC programmers, most designed to work = with the=20 more expensive PIC chips. There are many DIY PIC programmer cicuits on = the web,=20 especially for the cheaper PICs such as the PIC16F84. I use a programmer = based=20 on Michael Covington's eminently affordable No=20 Parts PIC Programmer which can be purchased as a kit from Oatly=20 Electronics.

If you've decided to get involved in PIC development consider the PICList,=20 a high-traffic mailing list which provides a supportive environment for=20 discussing PIC software and hardware development.

There's so much general information on the web about using PICs and = Basic=20 Stamps that your next stop should be a search engine - I use Google.=20

Reader's comments

Jose Souto wrote to let me know that:

"There are a number of free C compilers for PIC and I'm = very=20 satisfied with the CC5xFree from http://www.bknd.com/. With this = compiler=20 fully integrated with MPLAB from Microchip, people willing to use PIC = don't=20 need to rely on Assembly to write code for MIDI.
Last year I = wrote a=20 small C snippet to read MIDI with a PIC12C508 using a bit bang C code = written=20 with CC5xFree. This is from my experience in writing a full MIDI = receiver for=20 a customer. I posted it at the PicList "

Peter M Olsen wrote to me about the Picaxe which can be programmed in = BASIC:

"Have you looked at the Picaxe? (http://www.picaxe.co.uk/). I've been using them for about 6 months now and as far as I am = concerned they=20 leave the Basic Stamp for dead! They are basically a Microchip PIC = with a=20 bootstrap loader. I'd love to get one working with MIDI." =

Acknowledgements

Thanks to:
John Radenberg of Basic=20 Stamp DIY knob box page fame, who introduced me to many of the ideas = on this=20 page.
Jim Sosnin whose work with PICs and MIDI gave me the confidence = to=20 attempt constructing my own circuits.
Jeff Mann for numerous = suggestions and=20 corrections.

------=_NextPart_001_0013_01CF1829.34CE1300 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Location: file://C:\Users\R&D 1\Documents\Research\Digital\MIDI\DIY MIDI Controllers using PIC Microcontrollers and Basic Stamps_files\ads.htm =EF=BB=BF =20
  • Loading...
  • Corporate Web Filter
    Filter Websites, Messenger, Gaming. SMB Market = Leader!=20 Download Trial
    www.gfi.com/web-filtering
  • Extreme Low Power MCUs
    20nA Sleep, Real Time Clock & Watchdog = Timer
    www.microchip.com/xlp
  • <= /UL>
3D"Ads
------=_NextPart_001_0013_01CF1829.34CE1300-- ------=_NextPart_000_0000_01CF1829.34CBA200 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/Users/R%26D%201/Documents/Research/Digital/MIDI/DIY%20MIDI%20Controllers%20using%20PIC%20Microcontrollers%20and%20Basic%20Stamps_files/ga.js (function(){var = s=3Dtrue,t=3Dfalse,aa=3Dwindow,u=3Dundefined,v=3DMath,ba=3D"push",fa=3D"s= lice",ga=3D"cookie",y=3D"charAt",z=3D"indexOf",A=3D"gaGlobal",ha=3D"getTi= me",ja=3D"toString",B=3D"window",D=3D"length",E=3D"document",F=3D"split",= G=3D"location",ka=3D"href",H=3D"substring",I=3D"join",L=3D"toLowerCase";v= ar = la=3D"_gat",ma=3D"_gaq",na=3D"4.8.8",oa=3D"_gaUserPrefs",pa=3D"ioo",M=3D"= &",N=3D"=3D",O=3D"__utma=3D",qa=3D"__utmb=3D",ra=3D"__utmc=3D",sa=3D"__ut= mk=3D",ta=3D"__utmv=3D",ua=3D"__utmz=3D",va=3D"__utmx=3D",wa=3D"GASO=3D";= var xa=3Dfunction(){var = k=3Dthis,i=3D[],j=3D"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz= 0123456789-_";k.wc=3Dfunction(l){i[l]=3Ds};k.Ob=3Dfunction(){for(var = l=3D[],h=3D0;h=3D0};j.hb=3Dfunction(l){if(!l||!j.nc("Firefox"= ))return l;l=3Dl.replace(/\n|\r/g," ");for(var = h=3D0,p=3Dl[D];h-1){j=3Dk[z](j,h);if(j= <0)j=3Dk[D];l=3Dk[H](h+i[z](N)+1,j)}}return l},Ba=3Dfunction(k){var = i=3Dt,j=3D0,l,h;if(!S(k)){i=3Ds;for(l=3D0;l-1= )}}return i},U=3Dfunction(k,i){var j=3DencodeURIComponent;if(j = instanceof Function)return i?=0A= encodeURI(k):j(k);else{Q(68);return escape(k)}},Ca=3Dfunction(k,i){var = j=3DdecodeURIComponent,l;k=3Dk[F]("+")[I](" ");if(j instanceof = Function)try{l=3Di?decodeURI(k):j(k)}catch(h){Q(97);l=3Dunescape(k)}else{= Q(68);l=3Dunescape(k)}return l},V=3Dfunction(k,i){return = k[z](i)>-1};function = Da(k){if(!k||""=3D=3Dk)return"";for(;k[y](0)[D]>0&&" = \n\r\t"[z](k[y](0))>-1;)k=3Dk[H](1);for(;k[y](k[D]-1)[D]>0&&" = \n\r\t"[z](k[y](k[D]-1))>-1;)k=3Dk[H](0,k[D]-1);return k}=0A= var X=3Dfunction(k,i){k[ba]||Q(94);k[k[D]]=3Di},Ea=3Dfunction(k){var = i=3D1,j=3D0,l;if(!S(k)){i=3D0;for(l=3Dk[D]-1;l>=3D0;l--){j=3Dk.charCodeAt= (l);i=3D(i<<6&268435455)+j+(j<<14);j=3Di&266338304;i=3Dj!=3D0?i^j>>21:i}}= return i},Fa=3Dfunction(){return = v.round(v.random()*2147483647)},Ga=3Dfunction(){};var = Ha=3Dfunction(k,i){this.Na=3Dk;this.$a=3Di},Ia=3Dfunction(){function = k(j){var l=3D[];j=3Dj[F](",");for(var = h,p=3D0;p0)e=3De[F]("^")[0];f=3De[F](":")= ;e=3Df[1];q=3DparseInt(f[0],10);if(!d&&q0?l(f):"";if(p.l){c=3Dh.cc(R[E][ga],a,p.l,c,f);a=3D"2"+a;d=3Df>0?l(= p.u):""}a=3Da+c;d=3Dd;a=3DR.hb(a);if(a[D]>2E3){Q(69);a=3Da[H](0,2E3)}d=3D= a+"; path=3D"+p.f+"; = "+d+h.Qa();R[E].cookie=3Dd};h.cc=3Dfunction(a,c,f,d,e){var = q=3D"";e=3De||p.u;d=3Dj([d,h.q+e*1],f);q=3DT(a,"2"+c,";");if(!S(q)){a=3Dj= (i(a,c,f,s),f);q=3Dq[F](a)[I]("");return q=3Dd+q}return = d};h.Qa=3Dfunction(){return S(p.a)?"":"domain=3D"+=0A= p.a+";"}};var Ka=3Dfunction(k){function i(b){b=3Db instanceof = Array?b[I]("."):"";return S(b)?"-":b}function j(b,g){var = o=3D[],n;if(!S(b)){o=3Db[F](".");if(g)for(n=3D0;n2037)j=3Dl+"&err=3Dlen&ma= x=3D2037&len=3D"+j[D];k.Lb(i+j,h)};k.Lb=3Dfunction(i,j){var l=3Dnew = Image(1,1);l.src=3Di;l.onload=3Dfunction(){l.onload=3Dnull;(j||Ga)()}}};v= ar Ma=3Dfunction(k){var i=3Dthis,j=3Dk,l=3Dnew Ka(j),h=3Dnew = La,p=3D!Y.Kc(),m=3Dfunction(){};i.bd=3Dfunction(a){var = c=3Da[F](".");if(!c||c[D]<5)return = a;if((a=3Dc[fa](4)[I]("."))&&a[z]("=3D")=3D=3D-1)a=3DCa(a);c=3Dc[fa](0,4)= ;X(c,a);return = c[I](".")};i.ac=3Dfunction(){return"https:"=3D=3DR[E][G].protocol?"https:= //ssl.google-analytics.com/__utm.gif":"http://www.google-analytics.com/__= utm.gif"};i.P=3Dfunction(a,c,f,d,e,q){var = x=3Dj.B,b=3DR[E][G];l.ja(f);var = g=3Dl.z()[F](".");if(g[1]<500||d){if(e){g=3Dg;var o=3D(new = Date)[ha](),n;n=3D(o-g[3])*(j.Gc/=0A= 1E3);if(n>=3D1){g[2]=3Dv.min(v.floor(g[2]*1+n),j.Gb);g[3]=3Do}g=3Dg}if(d|= |!e||g[2]>=3D1){if(!d&&e)g[2]=3Dg[2]*1-1;g[1]=3Dg[1]*1+1;e=3D"?utmwv=3D"+= na;o=3D"&utmn=3D"+Fa();d=3De+"e"+o;a=3De+o+(S(b.hostname)?"":"&utmhn=3D"+= U(b.hostname))+(j.O=3D=3D100?"":"&utmsp=3D"+U(j.O))+a;if(0=3D=3Dx||2=3D=3D= x){b=3D2=3D=3Dx?m:q||m;p&&h.kb(j.ga,a,d,b,s)}if(1=3D=3Dx||2=3D=3Dx){c=3D"= &utmac=3D"+c;d+=3Dc;a+=3Dc+"&utmcc=3D"+i.Ub(f);if(Y.Ma){f=3D"&aip=3D1";d+= =3Df;a+=3Df}a+=3D"&utmu=3D"+ya.Ob();p&&h.kb(i.ac(),a,d,q)}}}l.la(g[I]("."= ));l.qa()};i.Ub=3Dfunction(a){for(var = c=3D[],f=3D[O,ua,ta,va],d=3Dl.h(),e,q=3D=0A= 0;q0)for(c=3D= 0;c0;)c+=3Df--^d++;return Ea(c)}};var = Z=3Dfunction(k,i,j,l){function h(a){var = c=3D"";c=3Da[F]("://")[1][L]();if(V(c,"/"))c=3Dc[F]("/")[0];return c}var = p=3Dl,m=3Dthis;m.b=3Dk;m.fb=3Di;m.q=3Dj;m.Ua=3Dfunction(a){var = c=3Dm.aa();return new = Z.r(T(a,p.va+N,M),T(a,p.ya+N,M),T(a,p.Aa+N,M),m.J(a,p.ta,"(not = set)"),m.J(a,p.wa,"(not = set)"),m.J(a,p.za,c&&!S(c.C)?Ca(c.C):u),m.J(a,p.ua,u))};m.Wa=3Dfunction(a= ){var c=3Dh(a),f;f=3Da;var = d=3D"";f=3Df[F]("://")[1][L]();if(V(f,"/")){f=3Df[F]("/")[1];if(V(f,"?"))= d=3Df[F]("?")[0]}f=3Dd;if(V(c,"google")){a=3Da[F]("?")[I](M);if(V(a,M+p.h= c+N))if(f=3D=3D=0A= p.gc)return s}return t};m.aa=3Dfunction(){var = a,c=3Dm.fb,f,d=3Dp.M;if(!(S(c)||"0"=3D=3Dc||!V(c,"://")||m.Wa(c))){a=3Dh(= c);for(var = e=3D0;e9?b[H](x+1)*1:0;q= ++;b=3D0=3D=3Db?1:b;a.pb([g,m.q,b,q,e.D()][I]("."));a.sa()}}}}}};=0A= Z.r=3Dfunction(k,i,j,l,h,p,m){var = a=3Dthis;a.n=3Dk;a.Q=3Di;a.V=3Dj;a.o=3Dl;a.L=3Dh;a.C=3Dp;a.Ja=3Dm;a.D=3Df= unction(){var = c=3D[],f=3D[["cid",a.n],["csr",a.Q],["gclid",a.V],["ccn",a.o],["cmd",a.L]= ,["ctr",a.C],["cct",a.Ja]],d,e;if(a.Ya())for(d=3D0;d0&&f<=3Da.bb){d=3DU(d);e=3DU(e);if(d[D]+e[D]<=3D64){h.m[= f]=3D[d,e,q];h.T();x=3Ds}}return = x};h.fc=3Dfunction(f){if((f=3Dh.m[f])&&1=3D=3D=3Df[2])return = f[1]};h.Mb=3Dfunction(f){var d=3Dh.m;if(d[f]){delete = d[f];h.T()}};h.Hb=3Dfunction(){c.w(8);c.w(9);c.w(11);var = f=3Dh.m,d,e;for(e in = f)if(d=3Df[e]){c.p(8,e,d[0]);c.p(9,e,d[1]);(d=3Dd[2])&&3!=3Dd&&c.p(11,e,"= "+d)}}};var Qa=3Dfunction(){function = k(n,r,w,J){if(u=3D=3Dm[n])m[n]=3D{};if(u=3D=3Dm[n][r])m[n][r]=3D[];m[n][r= ][w]=3DJ}function i(n,r,w){if(u!=3Dm[n]&&u!=3Dm[n][r])return = m[n][r][w]}function j(n,r){if(u!=3Dm[n]&&u!=3Dm[n][r]){m[n][r]=3Du;var = w=3Ds,J;for(J=3D0;J-1}function = p(b,g,o){if(S(b)||S(g)||S(o))return"-";b=3DT(b,O+a.b+".",g);if(!S(b)){b=3D= b[F](".");b[5]=3D""+(b[5]?b[5]*1+1:1);b[3]=3Db[4];b[4]=3Do;b=3Db[I](".")}= return b}function m(){return"file:"!=3DR[E][G].protocol&&h()}var = a=3Dthis,c=3DAa(a),f=3Du,d=3Dnew Ia,e=3Dd.a,q=3Dt,x=3Du;a.o=3Dk;a.q=3D=0A= v.round((new = Date)[ha]()/1E3);a.s=3Di||"UA-XXXXX-X";a.La=3DR[E].referrer;a.$=3Du;a.d=3D= u;a.A=3Dt;a.G=3Du;a.e=3Du;a.Oa=3Du;a.b=3Du;a.j=3Du;d.l=3Dj?U(j):u;a.bc=3D= function(){return = Fa()^a.G.Tb()&2147483647};a.Xb=3Dfunction(){if(!d.a||""=3D=3Dd.a||"none"=3D= =3Dd.a){d.a=3D"";return 1}l();return = d.Da?Ea(d.a):1};a.Sb=3Dfunction(b,g){if(S(b))b=3D"-";else{g+=3Dd.f&&"/"!=3D= d.f?d.f:"";var = o=3Db[z](g);b=3Do>=3D0&&o<=3D8?"0":"["=3D=3Db[y](0)&&"]"=3D=3Db[y](b[D]-1= )?"-":b}return b};a.gb=3Dfunction(b){var = g=3D"";g+=3Dd.W?a.G.Ec():"";g+=3Dd.Y&&!S(R[E].title)?"&utmdt=3D"+U(R[E].t= itle):=0A= "";g=3Dg;var = o;o=3Du;if(R[B]&&R[B][A]&&R[B][A].hid)o=3DR[B][A].hid;else{o=3DFa();R[B].= gaGlobal=3DR[B][A]?R[B][A]:{};R[B][A].hid=3Do}o=3Do;return = g=3Dg+("&utmhid=3D"+o+"&utmr=3D"+U(a.$)+"&utmp=3D"+U(a.uc(b)))};a.uc=3Dfu= nction(b){var g=3DR[E][G];return = b=3Du!=3Db&&""!=3Db?U(b,s):U(g.pathname+g.search,s)};a.Hc=3Dfunction(b){i= f(a.R()){var = g=3D"";if(a.e!=3Du&&a.e.N()[D]>0)g+=3D"&utme=3D"+U(a.e.N());g+=3Da.gb(b);= f.P(g,a.s,a.b)}};a.Kb=3Dfunction(){var b=3Dnew Ka(d);return = b.ja(a.b)?b.Dc():u};a.Ra=3Dc("_getLinkerUrl",52,function(b,g){var = o=3Db[F]("#"),n=3Db,=0A= r=3Da.Kb();if(r)if(g&&1>=3Do[D])n+=3D"#"+r;else = if(!g||1>=3Do[D])if(1>=3Do[D])n+=3D(V(b,"?")?M:"?")+r;else = n=3Do[0]+(V(b,"?")?M:"?")+r+"#"+o[1];return n});a.ic=3Dfunction(){var = b=3Da.q,g=3Da.j,o=3Dg.h(),n=3Da.b+"",r=3DR[B]?R[B][A]:u,w,J=3DV(o,O+n+"."= ),P=3DV(o,qa+n),ia=3DV(o,ra+n),C,K=3D[],W=3D"",ca=3Dt;o=3DS(o)?"":o;if(d.= v){w=3DR[E][G]&&R[E][G].hash?R[E][G][ka][H](R[E][G][ka][z]("#")):"";if(d.= U&&!S(w))W=3Dw+M;W+=3DR[E][G].search;if(!S(W)&&V(W,O)){g.sc(W);g.Xa()||g.= Jb();C=3Dg.ba()}w=3Dg.ea;var = da=3Dg.ob,ea=3Dg.Ab;if(!S(w())){da(Ca(w()));V(w(),";")||ea()}w=3D=0A= g.da;da=3Dg.na;ea=3Dg.ra;if(!S(w())){da(w());V(w(),";")||ea()}}if(S(C))if= (J)if(!P||!ia||0){C=3Dp(o,";",b);a.A=3Ds}else{C=3DT(o,O+n+".",";");K=3DT(= o,qa+n,";")[F](".")}else{C=3D[n,a.bc(),b,b,b,1][I](".");ca=3Da.A=3Ds}else= = if(S(g.z())||S(g.ca())){C=3Dp(W,M,b);a.A=3Ds}else{K=3Dg.z()[F](".");n=3DK= [0]}C=3DC[F](".");if(R[B]&&r&&r.dh=3D=3Dn&&!d.l){C[4]=3Dr.sid?r.sid:C[4];= if(ca){C[3]=3Dr.sid?r.sid:C[4];if(r.vid){b=3Dr.vid[F](".");C[1]=3Db[0];C[= 2]=3Db[1]}}}g.mb(C[I]("."));K[0]=3Dn;K[1]=3DK[1]?K[1]:0;K[2]=3Du!=3DK[2]?= K[2]:d.Fc;K[3]=3DK[3]?K[3]:C[4];g.la(K[I]("."));=0A= g.nb(n);S(g.dc())||g.ma(g.I());g.yb();g.qa();g.zb()};a.kc=3Dfunction(){f=3D= new Ma(d)};a.getName=3Dc("_getName",58,function(){return = a.o});a.c=3Dc("_initData",2,function(){var b;if(!q){if(!a.G)a.G=3Dnew = Oa(d.Z);a.b=3Da.Xb();a.j=3Dnew Ka(d);a.e=3Dnew Qa;x=3Dnew = Pa(d,a.b,a.j,a.e);a.kc()}if(m()){if(!q){a.$=3Da.Sb(a.La,R[E].domain);b=3D= new Z(a.b,a.$,a.q,d)}a.ic(b);x.lc()}if(!q){m()&&b.Vb(a.j,a.A);a.Oa=3Dnew = Qa;$.load(d,a.j);q=3Ds}});a.Lc=3Dc("_visitCode",54,function(){a.c();var = b=3DT(a.j.h(),O+a.b+".",";");b=3Db[F](".");return b[D]<=0A= 4?"":b[1]});a.Xc=3Dc("_cookiePathCopy",30,function(b){a.c();a.j&&a.j.Jc(a= .b,b)});a.R=3Dfunction(){return = a.Lc()%1E40){p=3Dm[H](0,a);m=3Dm[H](= a+1)}var = c=3Dp=3D=3Dla?Y:p=3D=3Dma?Va:Y.Ta(p);c[m].apply(c,j[h][fa](1))}}catch(f){= l++}return l}};var Y=3Dnew Ta;var Xa=3Daa[la];if(Xa&&typeof = Xa._getTracker=3D=3D"function")Y=3DXa;else aa[la]=3DY;var Va=3Dnew = Wa;a:{var Ya=3Daa[ma],Za=3Dt;if(Ya&&typeof = Ya[ba]=3D=3D"function"){Za=3DYa.constructor=3D=3DArray;if(!Za)break = a}aa[ma]=3DVa;Za&&Va[ba].apply(Va,Ya)};})()=0A= ------=_NextPart_000_0000_01CF1829.34CBA200 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/Users/R%26D%201/Documents/Research/Digital/MIDI/DIY%20MIDI%20Controllers%20using%20PIC%20Microcontrollers%20and%20Basic%20Stamps_files/show_ads.js =0A= (function(){var g=3Dtrue,h=3Dnull,i=3Dfalse,j=3D(new Date).getTime();var = k=3Dthis,aa=3Dfunction(a,b,c){a=3Da.split(".");c=3Dc||k;!(a[0]in = c)&&c.execScript&&c.execScript("var "+a[0]);for(var = d;a.length&&(d=3Da.shift());)if(!a.length&&b!=3D=3Dundefined)c[d]=3Db;els= e c=3Dc[d]?c[d]:c[d]=3D{}},ba=3Dfunction(a){return = a.call.apply(a.bind,arguments)},ca=3Dfunction(a,b){var = c=3Db||k;if(arguments.length>2){var = d=3DArray.prototype.slice.call(arguments,2);return function(){var = e=3DArray.prototype.slice.call(arguments);Array.prototype.unshift.apply(e= ,d);return a.apply(c,e)}}else return function(){return a.apply(c,=0A= arguments)}},l=3Dfunction(){l=3DFunction.prototype.bind&&Function.prototy= pe.bind.toString().indexOf("native code")!=3D-1?ba:ca;return = l.apply(h,arguments)};var m=3Dfunction(a){a=3DparseFloat(a);return = isNaN(a)||a>1||a<0?0:a},p=3Dfunction(a){if(a=3D=3D"true")return g;return = i},da=3D/^([\w-]+\.)*([\w-]{2,})(\:[0-9]+)?$/,t=3Dfunction(a){if(!a)retur= n"pagead2.googlesyndication.com";return(a=3Da.match(da))?a[0]:"pagead2.go= oglesyndication.com"};var ea=3Dfunction(){return t("")};var = fa=3D/&/g,ha=3D//g,ja=3D/\"/g,u=3D{"\u0000":"\\0","\u0008":"\\= b","\u000c":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\u000b":"\\x0B",'"':'= \\"',"\\":"\\\\"},v=3D{"'":"\\'"},y=3Dfunction(a,b){if(ab)return 1;return 0};var z,A,B,C,E=3Dfunction(){return = k.navigator?k.navigator.userAgent:h};C=3DB=3DA=3Dz=3Di;var = F;if(F=3DE()){var = ka=3Dk.navigator;z=3DF.indexOf("Opera")=3D=3D0;A=3D!z&&F.indexOf("MSIE")!= =3D-1;B=3D!z&&F.indexOf("WebKit")!=3D-1;C=3D!z&&!B&&ka.product=3D=3D"Geck= o"}var G=3DA,la=3DC,ma=3DB,H;=0A= a:{var I=3D"",J;if(z&&k.opera){var K=3Dk.opera.version;I=3Dtypeof = K=3D=3D"function"?K():K}else{if(la)J=3D/rv\:([^\);]+)(\)|;)/;else = if(G)J=3D/MSIE\s+([^\);]+)(\)|;)/;else = if(ma)J=3D/WebKit\/(\S+)/;if(J){var = na=3DJ.exec(E());I=3Dna?na[1]:""}}if(G){var = L,oa=3Dk.document;L=3Doa?oa.documentMode:undefined;if(L>parseFloat(I)){H=3D= String(L);break a}}H=3DI}=0A= var pa=3DH,qa=3D{},ra=3Dfunction(){if(!qa["9"]){for(var = a=3D0,b=3DString(pa).replace(/^[\s\xa0]+|[\s\xa0]+$/g,"").split("."),c=3D= String("9").replace(/^[\s\xa0]+|[\s\xa0]+$/g,"").split("."),d=3DMath.max(= b.length,c.length),e=3D0;a=3D=3D0&&e=3D0}};!G||ra();G&&ra();var = sa=3Ddocument,N=3Dwindow;t("");var O=3Dfunction(a){return!!a&&typeof = a=3D=3D"function"&&!!a.call},ua=3Dfunction(a){if(!(arguments.length<2))fo= r(var b=3D1,c=3Darguments.length;b");b=3D"border:none;height:"+c+"px= ;margin:0;padding:0;position:relative;visibility:visible;width:"+b+"px";r= eturn['',d.join(" = "),""].join("")};var = Sa=3Dfunction(){},Ua=3Dfunction(a,b,c){switch(typeof b){case = "string":Ta(a,b,c);break;case = "number":c.push(isFinite(b)&&!isNaN(b)?b:"null");break;case = "boolean":c.push(b);break;case "undefined":c.push("null");break;case = "object":if(b=3D=3Dh){c.push("null");break}if(b instanceof Array){var = d=3Db.length;c.push("[");for(var = e=3D"",f=3D0;f\"]/.test(W)){if(W.indexOf("&")!=3D-1)W=3DW.replace(fa,"&");i= f(W.indexOf("<")!=3D-1)W=3DW.replace(ha,"<");if(W.indexOf(">")!=3D-1)W= =3DW.replace(ia,">");if(W.indexOf('"')!=3D-1)W=3DW.replace(ja,"""= )}Ya=3DW;Xa.prototype.set=3Dfunction(a,b){this.e.handlers[a]=3Db};=0A= Xa.prototype.l=3Dfunction(){if(this.e.img){var = a=3Dthis.e.log,b=3Dthis.b.document;if(a.length){b=3D["http://",ea(),"/pag= ead/gen_204?id=3Diframecopy&log=3D",P(a.join("-")),"&url=3D",P(b.URL.subs= tring(0,512)),"&ref=3D",P(b.referrer.substring(0,512))].join("");a.length= =3D0;a=3Dnew Image;this.e.img.push(a);a.src=3Db}}};var = Za=3Dfunction(){var a=3D"script";return["<",a,' = src=3D_http_/%27%2ct(__)%2c%27/pagead/js/r20101117/r20110208/show_ads_impl.html><= /',a,">"].join("")},$a=3Dfunction(a,b,c,d){return function(){var = e=3Di;d&&Ka().al(3E4);try{var = f;try{f=3D!!a.document.getElementById(b).contentWindow.document}catch(ta)= {f=3Di}if(f){var s=3Da.document.getElementById(b).contentWindow,=0A= n=3Ds.document;if(!(n.body&&n.body.firstChild)){n.open();s.google_async_i= frame_close=3Dg;n.write(c)}}else{var = o=3Da.document.getElementById(b).contentWindow,q;f=3Dc;f=3DString(f);if(f= .quote)q=3Df.quote();else{s=3D['"'];for(n=3D0;n31&&Ha<127)D=3DM;else{var r=3DM;if(r in v)D=3Dv[r];else if(r = in u)D=3Dv[r]=3Du[r];else{var = w=3Dr,x=3Dr.charCodeAt(0);if(x>31&&x<127)w=3Dr;else{if(x<256){w=3D"\\x";i= f(x<16||x>256)w+=3D"0"}else{w=3D"\\u";if(x<4096)w+=3D=0A= "0"}w+=3Dx.toString(16).toUpperCase()}D=3Dv[r]=3Dw}}ga=3DD}ob[pb]=3Dga}s.= push('"');q=3Ds.join("")}o.location.replace("javascript:"+q)}e=3Dg}catch(= wb){o=3DFa().google_jobrunner;Ja(o)&&o.rl()}e&&(new = Xa(a)).set(b,$a(a,b,c,i))}},ab=3Dfunction(){return xa&&ya/xa||typeof = window.google_hash_ratio=3D=3D"number"&&window.google_hash_ratio||h};wind= ow.google_loader_used=3Dg;(function(a){if(!("google_onload_fired"in = a)){a.google_onload_fired=3Di;va(a,function(){a.google_onload_fired=3Dg})= }})(window);if(!window.google_loader_experiment)window.google_loader_expe= riment=3Dza?wa(["async0","block0"],za)||"none":wa(["async1_ffch","async1_= all","block1"],Aa)||"none";=0A= var bb,cb=3Dfunction(){var = a=3Dnavigator.userAgent;if(!a.match(/Opera/))if(a.match(/Firefox/))return= "ff";else if(a.match(/Chrome/))return"ch";else if(a.match(/MSIE = 8/))return"ie8";else if(a.match(/MSIE 7/))return = a.match(/Trident/)?"iec":"ie7";return"xx"}(),db=3Dwindow.google_loader_ex= periment;=0A= if(bb=3Dwindow.google_enable_async=3D=3D=3Dg||db=3D=3D"async0"||db=3D=3D"= async1_all"||db=3D=3D"async1_ffch"&&/ff|ch/.test(cb))bb=3Dwindow.google_e= nable_async=3D=3D=3Di?i:(G&&/MSIE = 8/.test(navigator.userAgent)||Qa||Pa&&!!window.document.body)&&!window.go= ogle_container_id&&(!window.google_ad_output||window.google_ad_output=3D=3D= "html");=0A= if(bb){var eb=3Dwindow;if(eb.google_unique_id)++eb.google_unique_id;else = eb.google_unique_id=3D1;for(var = X=3Dwindow,_script$$inline_212=3D"script",Y,Z=3D{allowtransparency:'"true= "',frameborder:'"0"',height:'"'+X.google_ad_height+'"',hspace:'"0"',margi= nwidth:'"0"',marginheight:'"0"',onload:'"'+Ya+'"',scrolling:'"no"',vspace= :'"0"',width:'"'+X.google_ad_width+'"'},fb=3DX.document,$=3DZ.id,gb=3D0;!= $||X.document.getElementById($);)$=3D"aswift_"+gb++;Z.id=3D$;Z.name=3D$;f= b.write(Ra(Z,X.google_ad_width,X.google_ad_height));Y=3D=0A= $;var = hb;if(X.google_page_url)X.google_page_url=3DString(X.google_page_url);for= (var ib=3D[],jb=3D0,kb=3DV.length;jb<",_script$$inline_212,">",hb,"google_show_ads_impl=3Dtr= ue;google_unique_id=3D",X.google_unique_id,';google_async_iframe_id=3D"',=0A= Y,'";google_start_time=3D',j,";",ub?"google_hash_ratio=3D"+ub+";":"",vb?'= google_loader_experiment=3D"'+vb+'";':"","google_bpp=3D",tb>j?tb-j:1,";",Za(),""].join("");(X.document.get= ElementById(Y)?La:Ma)($a(X,Y,xb,g))}else{window.google_start_time=3Dj;win= dow.google_hash_ratio=3Dab();document.write(Za())};})();=0A= ------=_NextPart_000_0000_01CF1829.34CBA200 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/Users/R%26D%201/Documents/Research/Digital/MIDI/DIY%20MIDI%20Controllers%20using%20PIC%20Microcontrollers%20and%20Basic%20Stamps_files/show_ads_impl.js =0A= (function(){var h=3Dtrue,i=3Dnull,j=3Dfalse,aa=3D(new = Date).getTime(),ba=3Dfunction(a){var b=3D(new = Date).getTime()-aa;b=3D"&dtd=3D"+(b<1E4?b:"M");return a+b};var = l=3Dthis,ca=3Dfunction(a,b,c){a=3Da.split(".");c=3Dc||l;!(a[0]in = c)&&c.execScript&&c.execScript("var "+a[0]);for(var = d;a.length&&(d=3Da.shift());)if(!a.length&&b!=3D=3Dundefined)c[d]=3Db;els= e c=3Dc[d]?c[d]:c[d]=3D{}},da=3Dfunction(a){var b=3Dtypeof = a;if(b=3D=3D"object")if(a){if(a instanceof Array||!(a instanceof = Object)&&Object.prototype.toString.call(a)=3D=3D"[object Array]"||typeof = a.length=3D=3D"number"&&typeof a.splice!=3D"undefined"&&typeof = a.propertyIsEnumerable!=3D"undefined"&&!a.propertyIsEnumerable("splice"))= return"array";=0A= if(!(a instanceof = Object)&&(Object.prototype.toString.call(a)=3D=3D"[object = Function]"||typeof a.call!=3D"undefined"&&typeof = a.propertyIsEnumerable!=3D"undefined"&&!a.propertyIsEnumerable("call")))r= eturn"function"}else return"null";else if(b=3D=3D"function"&&typeof = a.call=3D=3D"undefined")return"object";return b},n=3Dfunction(a){return = da(a)=3D=3D"array"},ea=3Dfunction(a){var b=3Dda(a);return = b=3D=3D"array"||b=3D=3D"object"&&typeof = a.length=3D=3D"number"},o=3Dfunction(a){return typeof = a=3D=3D"string"},fa=3Dfunction(a){a=3Dda(a);return a=3D=3D"object"||=0A= a=3D=3D"array"||a=3D=3D"function"},ga=3Dfunction(a){return = a.call.apply(a.bind,arguments)},ha=3Dfunction(a,b){var = c=3Db||l;if(arguments.length>2){var = d=3DArray.prototype.slice.call(arguments,2);return function(){var = e=3DArray.prototype.slice.call(arguments);Array.prototype.unshift.apply(e= ,d);return a.apply(c,e)}}else return function(){return = a.apply(c,arguments)}},p=3Dfunction(){p=3DFunction.prototype.bind&&Functi= on.prototype.bind.toString().indexOf("native code")!=3D-1?ga:ha;return = p.apply(i,arguments)},ia=3Dfunction(a){var b=3D=0A= Array.prototype.slice.call(arguments,1);return function(){var = c=3DArray.prototype.slice.call(arguments);c.unshift.apply(c,b);return = a.apply(this,c)}},q=3Dfunction(a,b,c){ca(a,b,c)},r=3Dfunction(a,b,c){a[b]= =3Dc};var s=3Dfunction(a,b){var c=3DparseFloat(a);return = isNaN(c)||c>1||c<0?b:c},ja=3Dfunction(a,b){if(a=3D=3D"true")return = h;if(a=3D=3D"false")return j;return = b},ka=3D/^([\w-]+\.)*([\w-]{2,})(\:[0-9]+)?$/,la=3Dfunction(a,b){if(!a)re= turn b;var c=3Da.match(ka);return c?c[0]:b};var ma=3Dfunction(){return = la("","googleads.g.doubleclick.net")},na=3Dfunction(){return = la("","pagead2.googlesyndication.com")},t=3Dfunction(){return = la("","pagead2.googlesyndication.com")};var = ta=3Dfunction(a,b){if(b)return = a.replace(oa,"&").replace(pa,"<").replace(qa,">").replace(ra,"&= quot;");else{if(!sa.test(a))return = a;if(a.indexOf("&")!=3D-1)a=3Da.replace(oa,"&");if(a.indexOf("<")!=3D= -1)a=3Da.replace(pa,"<");if(a.indexOf(">")!=3D-1)a=3Da.replace(qa,">= ;");if(a.indexOf('"')!=3D-1)a=3Da.replace(ra,""");return = a}},oa=3D/&/g,pa=3D//g,ra=3D/\"/g,sa=3D/[&<>\"]/,wa=3Dfunction= (a){if(a.indexOf("&")!=3D-1)return"document"in = l&&a.indexOf("<")=3D=3D-1?ua(a):va(a);return a},ua=3Dfunction(a){var b=3D=0A= l.document.createElement("div");b.innerHTML=3D"
x"+a+"
";b.first= Child.normalize&&b.firstChild.normalize();a=3Db.firstChild.firstChild.nod= eValue.slice(1);b.innerHTML=3D"";return = a.replace(/(\r\n|\r|\n)/g,"\n")},va=3Dfunction(a){return = a.replace(/&([^;]+);/g,function(b,c){switch(c){case "amp":return"&";case = "lt":return"<";case "gt":return">";case = "quot":return'"';default:if(c.charAt(0)=3D=3D"#"){var = d=3DNumber("0"+c.substr(1));if(!isNaN(d))return = String.fromCharCode(d)}return b}})},xa=3Dfunction(a,b){for(var c=3D=0A= b.length,d=3D0;d31&&e<127?d:Aa(d))= }b.push('"');return b.join("")}},Aa=3Dfunction(a){if(a in za)return = za[a];=0A= if(a in ya)return za[a]=3Dya[a];var = b=3Da,c=3Da.charCodeAt(0);if(c>31&&c<127)b=3Da;else{if(c<256){b=3D"\\x";i= f(c<16||c>256)b+=3D"0"}else{b=3D"\\u";if(c<4096)b+=3D"0"}b+=3Dc.toString(= 16).toUpperCase()}return za[a]=3Db},Da=3Dfunction(a,b){for(var = c=3D0,d=3DString(a).replace(/^[\s\xa0]+|[\s\xa0]+$/g,"").split("."),e=3DS= tring(b).replace(/^[\s\xa0]+|[\s\xa0]+$/g,"").split("."),f=3DMath.max(d.l= ength,e.length),g=3D0;c=3D=3D0&&gb)return 1;return 0};var = u=3DArray.prototype,Ea=3Du.indexOf?function(a,b,c){return = u.indexOf.call(a,b,c)}:function(a,b,c){c=3Dc=3D=3Di?0:c<0?Math.max(0,a.le= ngth+c):c;if(o(a)){if(!o(b)||b.length!=3D1)return-1;return = a.indexOf(b,c)}for(;cparseFloat(a))return String(b)}return a},db=3Dfunction(){var = a=3Dl.document;return = a?a.documentMode:undefined},fb=3Deb(),gb=3D{},B=3Dfunction(a){return = gb[a]||(gb[a]=3DDa(fb,a)>=3D0)};var hb,ib=3D!z||B("9");z&&B("9");var = jb=3Dfunction(a){return(a=3Da.className)&&typeof = a.split=3D=3D"function"?a.split(/\s+/):[]},lb=3Dfunction(a){var = b=3Djb(a),c=3DIa(arguments,1);c=3Dkb(b,c);a.className=3Db.join(" = ");return c},kb=3Dfunction(a,b){for(var = c=3D0,d=3D0;d=3D0)){a.push(b[d]);c++}return= c=3D=3Db.length};var mb=3Dfunction(a){return a?new = C(D(a)):hb||(hb=3Dnew C)},nb=3Dfunction(a){return = o(a)?document.getElementById(a):a},ob=3Dnb,qb=3Dfunction(a,b){Ka(b,functi= on(c,d){if(d=3D=3D"style")a.style.cssText=3Dc;else = if(d=3D=3D"class")a.className=3Dc;else = if(d=3D=3D"for")a.htmlFor=3Dc;else if(d in = pb)a.setAttribute(pb[d],c);else = a[d]=3Dc})},pb=3D{cellpadding:"cellPadding",cellspacing:"cellSpacing",col= span:"colSpan",rowspan:"rowSpan",valign:"vAlign",height:"height",width:"w= idth",usemap:"useMap",frameborder:"frameBorder",maxlength:"maxLength",=0A= type:"type"},rb=3Dfunction(a){var = b=3Da.document;if(A&&!B("500")&&!Xa){if(typeof = a.innerHeight=3D=3D"undefined")a=3Dwindow;b=3Da.innerHeight;var = c=3Da.document.documentElement.scrollHeight;if(a=3D=3Da.top)if(c");c=3Dc.join("")}c=3Da.createElement(c);if(d)if(o(d))c.c= lassName=3Dd;else = n(d)?lb.apply(i,[c].concat(d)):qb(c,d);b.length>2&&vb(a,c,b,2);return = c},vb=3Dfunction(a,b,c,d){function = e(g){if(g)b.appendChild(o(g)?a.createTextNode(g):g)}for(;d0)?Fa(wb(f)?Ha(f):=0A= f,e):e(f)}},xb=3Dfunction(a,b){a.appendChild(b)},yb=3Dfunction(a){vb(D(a)= ,a,arguments,1)},zb=3Dfunction(a){return = a&&a.parentNode?a.parentNode.removeChild(a):i},Ab=3Dfunction(a,b){if(a.co= ntains&&b.nodeType=3D=3D1)return a=3D=3Db||a.contains(b);if(typeof = a.compareDocumentPosition!=3D"undefined")return = a=3D=3Db||Boolean(a.compareDocumentPosition(b)&16);for(;b&&a!=3Db;)b=3Db.= parentNode;return b=3D=3Da},D=3Dfunction(a){return = a.nodeType=3D=3D9?a:a.ownerDocument||a.document},wb=3Dfunction(a){if(a&&t= ypeof a.length=3D=3D"number")if(fa(a))return typeof a.item=3D=3D=0A= "function"||typeof a.item=3D=3D"string";else = if(da(a)=3D=3D"function")return typeof a.item=3D=3D"function";return = j},C=3Dfunction(a){this.n=3Da||l.document||document};C.prototype.createEl= ement=3Dfunction(a){return = this.n.createElement(a)};C.prototype.createTextNode=3Dfunction(a){return = this.n.createTextNode(a)};C.prototype.V=3Dfunction(){return = this.n.compatMode=3D=3D"CSS1Compat"};C.prototype.B=3Dfunction(){return = sb(this.n)};C.prototype.appendChild=3Dxb;C.prototype.append=3Dyb;C.protot= ype.removeNode=3Dzb;C.prototype.contains=3DAb;var = E=3Ddocument,F=3Dwindow,Bb=3Dfunction(a){var = b=3Di;if((a=3Da.getElementsByTagName("script"))&&a.length){b=3Da[a.length= -1];b=3Db.parentNode}return b},Cb=3DBb(E);t();=0A= var G=3Dfunction(a,b){for(var c in = a)Object.prototype.hasOwnProperty.call(a,c)&&b.call(i,a[c],c,a)},Db=3Dfun= ction(a){return!!a&&typeof = a=3D=3D"function"&&!!a.call},Eb=3Dfunction(a){return!!a&&(typeof = a=3D=3D"object"||typeof = a=3D=3D"function")},Gb=3Dfunction(a,b){if(!a||!Eb(a))return = h;return!Fb(a,b.prototype)},Fb=3Dfunction(a,b){if(!a)return j;var = c=3Dh;G(b,function(d,e){if(!c||!(e in a)||typeof d!=3Dtypeof = a[e])c=3Dj});return c},Hb=3Dfunction(a){if(arguments.length<2)return = a.length;for(var = b=3D1,c=3Darguments.length;b=3D0){a=3D3;for(var b=3D1;b;)try{b=3Dnew = ActiveXObject("ShockwaveFlash.ShockwaveFlash."+(a+1));a++}catch(c){b=3Di}= return a.toString()}else if(Mb("msie")&&!window.opera){b=3Di;try{b=3Dnew = ActiveXObject("ShockwaveFlash.ShockwaveFlash.7")}catch(d){a=3D=0A= 0;try{b=3Dnew = ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");a=3D6;b.AllowScriptAcces= s=3D"always"}catch(e){if(a=3D=3D6)return a.toString()}try{b=3Dnew = ActiveXObject("ShockwaveFlash.ShockwaveFlash")}catch(f){}}if(b){a=3Db.Get= Variable("$version").split(" ")[1];return = a.replace(/,/g,".")}}return"0"}function Pb(a){var = b=3Da.google_ad_format;if(b)return b.indexOf("_0ads")>0;return = a.google_ad_output!=3D"html"&&a.google_num_radlinks>0}function = I(a){return!!a&&a.indexOf("_sdo")!=3D-1}=0A= function Qb(a,b){if(!(Math.random()<1.0E-4)){var = c=3DMath.random();if(c>2)+f&4294967295}return = d>0?d:4294967296+d},Ub=3Dfunction(a){if(a=3D=3Da.top)return 0;var = b=3D[];b.push(a.document.URL);a.name&&b.push(a.name);var = c=3Dh;a=3DSb(!c,a);b.push(a.width.toString());b.push(a.height.toString())= ;return Tb(b.join(""))},Vb=3Dfunction(a){if(!a)return"";for(var = b=3D[],c=3D0;a&&c<25;a=3Da.parentNode,++c)b.push(a.id||=0A= "");return = b.join()},Wb=3Dfunction(a){try{return!!a.document}catch(b){return = j}},Yb=3Dfunction(a){if(a&&a&&a.id&&a.id.indexOf("aswift_")=3D=3D0)a=3DXb= (a);return a&&a.src||""},Xb=3Dfunction(a){return = a=3Da.contentWindow.document.getElementsByTagName("iframe")[0]},Zb=3Dfunc= tion(a){if(a&&a.name&&a.name.indexOf("google_ads_iframe_")=3D=3D0)return = a.src||"";return""};var = $b=3D{google_ad_channel:"channel",google_ad_host:"host",google_ad_host_ch= annel:"h_ch",google_ad_host_tier_id:"ht_id",google_ad_section:"region",go= ogle_ad_type:"ad_type",google_adtest:"adtest",google_allow_expandable_ads= :"ea",google_alternate_ad_url:"alternate_ad_url",google_alternate_color:"= alt_color",google_bid:"bid",google_city:"gcs",google_color_bg:"color_bg",= google_color_border:"color_border",google_color_line:"color_line",google_= color_link:"color_link",google_color_text:"color_text",google_color_url:"= color_url",=0A= google_contents:"contents",google_country:"gl",google_cpm:"cpm",google_cu= st_age:"cust_age",google_cust_ch:"cust_ch",google_cust_gender:"cust_gende= r",google_cust_id:"cust_id",google_cust_interests:"cust_interests",google= _cust_job:"cust_job",google_cust_l:"cust_l",google_cust_lh:"cust_lh",goog= le_cust_u_url:"cust_u_url",google_disable_video_autoplay:"disable_video_a= utoplay",google_ed:"ed",google_encoding:"oe",google_feedback:"feedback_li= nk",google_flash_version:"flash",google_font_face:"f",google_font_size:"f= s",=0A= google_hints:"hints",google_kw:"kw",google_kw_type:"kw_type",google_langu= age:"hl",google_page_url:"url",google_region:"gr",google_reuse_colors:"re= use_colors",google_safe:"adsafe",google_tag_info:"gut",google_targeting:"= targeting",google_targeting_video_doc_id:"tvdi",google_ui_features:"ui",g= oogle_ui_version:"uiv",google_video_doc_id:"video_doc_id",google_video_pr= oduct_type:"video_product_type"},ac=3D{google_ad_block:"ad_block",google_= ad_client:"client",google_ad_format:"format",google_ad_output:"output",=0A= google_ad_callback:"callback",google_ad_height:"h",google_ad_override:"go= ogle_ad_override",google_ad_slot:"slotname",google_ad_width:"w",google_ct= r_threshold:"ctr_t",google_image_size:"image_size",google_last_modified_t= ime:"lmt",google_max_num_ads:"num_ads",google_max_radlink_len:"max_radlin= k_len",google_num_radlinks:"num_radlinks",google_num_radlinks_per_unit:"n= um_radlinks_per_unit",google_only_ads_with_video:"only_ads_with_video",go= ogle_rl_dest_url:"rl_dest_url",google_rl_filtering:"rl_filtering",=0A= google_rl_mode:"rl_mode",google_rt:"rt",google_skip:"skip"},bc=3D{google_= only_pyv_ads:"pyv",google_only_userchoice_ads:"uc",google_with_pyv_ads:"w= ithpyv"};var = ec=3Ds("0",0),fc=3Ds("0",0),gc=3Ds("0",0),hc=3Ds("0",0),ic=3Ds("0",0),jc=3D= s("0",0),kc=3Ds("0.01",0),lc=3Ds("1",0),mc=3Ds("0.02",0),nc=3Ds("0.02",0)= ,oc=3Ds("0.02",0),pc=3D=0A= s("0.01",0),qc=3Ds("0",0);var rc=3Dfunction(){var a=3D"r20101117";return = a},sc=3Dja("false",j),tc=3Dja("false",j),uc=3Dja("false",j);var = vc=3Dfunction(a,b,c){b=3Dp(b,l,a);a=3Dwindow.onerror;window.onerror=3Db;t= ry{c()}catch(d){c=3Dd.toString();var = e=3D"";if(d.fileName)e=3Dd.fileName;var = f=3D-1;if(d.lineNumber)f=3Dd.lineNumber;b=3Db(c,e,f);if(!b)throw = d;}window.onerror=3Da};q("google_protectAndRun",vc);=0A= var xc=3Dfunction(a,b,c,d){if(Math.random()<0.01){var = e=3DE;a=3D["http://",na(),"/pagead/gen_204","?id=3Djserror","&jscb=3D",sc= ?1:0,"&jscd=3D",tc?1:0,"&context=3D",H(a),"&msg=3D",H(b),"&file=3D",H(c),= "&line=3D",H(d.toString()),"&url=3D",H(e.URL.substring(0,512)),"&ref=3D",= H(e.referrer.substring(0,512))];a.push(wc());Lb(F,a.join(""))}return!uc};= q("google_handleError",xc);=0A= var zc=3Dfunction(a){yc|=3Da},yc=3D0,wc=3Dfunction(){var = a=3D["&client=3D",H(F.google_ad_client),"&format=3D",H(F.google_ad_format= ),"&slotname=3D",H(F.google_ad_slot),"&output=3D",H(F.google_ad_output),"= &ad_type=3D",H(F.google_ad_type)];return a.join("")};var = Ac=3Dfunction(a){var b=3D"google_test";try{var = c=3Da[b];a[b]=3D!c;if(a[b]=3D=3D=3D!c){a[b]=3Dc;return = h}}catch(d){}return = j},Bc=3Dfunction(a){for(;a!=3Da.parent&&Ac(a.parent);)a=3Da.parent;return= a},Cc=3Di,Dc=3Dfunction(){Cc||(Cc=3DBc(window));return Cc};var = J=3Dfunction(a){this.r=3D[];this.g=3Da||window;this.c=3D0;this.q=3Di},Ec=3D= function(a,b){this.fn=3Da;this.win=3Db};J.prototype.enqueue=3Dfunction(a,= b){if(this.c=3D=3D0&&this.r.length=3D=3D0&&(!b||b=3D=3Dwindow)){this.c=3D= 2;this.L(new Ec(a,window))}else = this.o(a,b)};J.prototype.o=3Dfunction(a,b){this.r.push(new = Ec(a,b||this.g));this.t()};J.prototype.J=3Dfunction(a){this.c=3D1;if(a)th= is.q=3Dthis.g.setTimeout(p(this.s,this),a)};J.prototype.s=3Dfunction(){if= (this.c=3D=3D1){if(this.q!=3Di){this.g.clearTimeout(this.q);this.q=3Di}th= is.c=3D0}this.t()};=0A= J.prototype.statusz=3Dfunction(){return = h};r(J.prototype,"nq",J.prototype.enqueue);r(J.prototype,"nqa",J.prototyp= e.o);r(J.prototype,"al",J.prototype.J);r(J.prototype,"rl",J.prototype.s);= r(J.prototype,"sz",J.prototype.statusz);J.prototype.t=3Dfunction(){this.g= .setTimeout(p(this.ea,this),0)};J.prototype.ea=3Dfunction(){if(this.c=3D=3D= 0&&this.r.length){var = a=3Dthis.r.shift();this.c=3D2;a.win.setTimeout(p(this.L,this,a),0);this.t= ()}};J.prototype.L=3Dfunction(a){this.c=3D0;a.fn()};=0A= var Fc=3Dfunction(a){try{return a.sz()}catch(b){return = j}},Gc=3Dfunction(){var = a=3DDc().google_jobrunner;Eb(a)&&Fc(a)&&Db(a.nq)&&Db(a.nqa)&&Db(a.al)&&Db= (a.rl)&&a.rl()};var = Hc=3Dfunction(a,b,c,d){b=3D"border:none;height:"+c+"px;margin:0;padding:0= ;position:relative;visibility:visible;width:"+b+"px";a=3D['','',d,""];return a.join("")};var = K=3D!!window.google_async_iframe_id,L=3DK&&window.parent||window,M=3Dfunc= tion(){if(K&&!Wb(L)){for(var = a=3D"."+E.domain;a.split(".").length>2&&!Wb(L);){E.domain=3Da=3Da.substr(= a.indexOf(".")+1);L=3Dwindow.parent}Wb(L)||(L=3Dwindow)}return = L},Ic=3Dfunction(a){if(K&&a!=3Da.parent){Gc();a.google_async_iframe_close= &&a.setTimeout(function(){a.document.close()},0)}},Jc=3Dfunction(){if(!K)= return i;var = a=3Dwindow.google_async_iframe_id;if(a){a=3DM().document.getElementById(a= );for(var b=3D0;a&&b<3;++b)a=3Da.parentNode;return a}return i};function = Kc(a,b){try{return a.top.document=3D=3Db}catch(c){}return j}function = Lc(a,b,c,d){c=3Dc||a.google_ad_width;d=3Dd||a.google_ad_height;if(Kc(a,b)= )return j;var e=3Db.documentElement;if(c&&d){var = f=3D1,g=3D1;if(a.innerHeight){f=3Da.innerWidth;g=3Da.innerHeight}else = if(e&&e.clientHeight){f=3De.clientWidth;g=3De.clientHeight}else = if(b.body){f=3Db.body.clientWidth;g=3Db.body.clientHeight}if(g>2*d||f>2*c= )return j}return h}function = Mc(a,b){G(b,function(c,d){a["google_"+d]=3Dc})}=0A= function Nc(a,b){if(!b)return a.URL;return a.referrer}function = Oc(a,b){if(!b&&a.google_referrer_url=3D=3Di)return"0";else = if(b&&a.google_referrer_url=3D=3Di)return"1";else = if(!b&&a.google_referrer_url!=3Di)return"2";else = if(b&&a.google_referrer_url!=3Di)return"3";return"4"}function = Pc(a,b,c){a.page_url=3DNc(b,c);a.page_location=3Di}function = Qc(a,b,c,d){a.page_url=3Db.google_page_url;a.page_location=3DNc(c,d)||"EM= PTY"}=0A= function Rc(a,b){var = c=3D{},d=3DLc(M(),b,a.google_ad_width,a.google_ad_height);c.iframing=3DOc= (a,d);a.google_page_url?Qc(c,a,b,d):Pc(c,b,d);c.last_modified_time=3Db.UR= L=3D=3Dc.page_url?Date.parse(b.lastModified)/1E3:i;c.referrer_url=3Dd?a.g= oogle_referrer_url:a.google_page_url&&a.google_referrer_url?a.google_refe= rrer_url:b.referrer;return c}function Sc(a){var = b=3D{},c=3Da.URL.substring(a.URL.lastIndexOf("http"));b.iframing=3Di;b.pa= ge_url=3Dc;b.page_location=3Da.URL;b.last_modified_time=3Di;b.referrer_ur= l=3Dc;return b}=0A= function Tc(a){var b=3DUc(a,M().document);Mc(a,b)}function Uc(a,b){var = c;return c=3Da.google_page_url=3D=3Di&&Vc[b.domain]?Sc(b):Rc(a,b)}var = Vc=3D{};Vc["ad.yieldmanager.com"]=3Dh;var = Yc=3Dfunction(){if(window.google_ad_output=3D=3Di)window.google_ad_output= =3D"html";if(I(window.google_ad_format)){var = a=3Dwindow.google_ad_format.match(/^(\d+)x(\d+)_.*/);if(a){window.google_= ad_width=3DparseInt(a[1],10);window.google_ad_height=3DparseInt(a[2],10);= window.google_ad_output=3D"html"}}window.google_ad_format=3DWc(window.goo= gle_ad_format,String(window.google_ad_output),Number(window.google_ad_wid= th),Number(window.google_ad_height),window.google_ad_slot,!!window.google= _override_format);window.google_ad_client=3D=0A= Xc(window.google_ad_format,window.google_ad_client);Tc(window);if(window.= google_flash_version=3D=3Di)window.google_flash_version=3DOb();window.goo= gle_ad_section=3Dwindow.google_ad_section||window.google_ad_region||"";wi= ndow.google_country=3Dwindow.google_country||window.google_gl||"";a=3D(ne= w = Date).getTime();if(n(window.google_color_bg))window.google_color_bg=3DN(w= indow.google_color_bg,a);if(n(window.google_color_text))window.google_col= or_text=3DN(window.google_color_text,a);if(n(window.google_color_link))wi= ndow.google_color_link=3D=0A= N(window.google_color_link,a);if(n(window.google_color_url))window.google= _color_url=3DN(window.google_color_url,a);if(n(window.google_color_border= ))window.google_color_border=3DN(window.google_color_border,a);if(n(windo= w.google_color_line))window.google_color_line=3DN(window.google_color_lin= e,a)},Zc=3Dfunction(a){G($b,function(b,c){a[c]=3Di});G(ac,function(b,c){a= [c]=3Di});G(bc,function(b,c){a[c]=3Di});a.google_container_id=3Di;a.googl= e_enable_async=3Di;a.google_eids=3Di;a.google_page_location=3Di;a.google_= referrer_url=3D=0A= i;a.google_show_ads_impl=3Di;a.google_ad_region=3Di;a.google_gl=3Di;a.goo= gle_iframe_name=3Di;a.google_loader_used=3Di},N=3Dfunction(a,b){zc(2);ret= urn = a[b%a.length]},Xc=3Dfunction(a,b){if(!b)return"";b=3Db.toLowerCase();retu= rn = b=3DI(a)?$c(b):ad(b)},ad=3Dfunction(a){if(a&&a.substring(0,3)!=3D"ca-")a=3D= "ca-"+a;return = a},$c=3Dfunction(a){if(a&&a.substring(0,7)!=3D"ca-aff-")a=3D"ca-aff-"+a;r= eturn = a},Wc=3Dfunction(a,b,c,d,e,f){if(!a&&b=3D=3D"html")a=3Dc+"x"+d;return = a=3Dbd(a,e,f)?a.toLowerCase():""},bd=3Dfunction(a,b,c){if(!a)return = j;if(!b)return h;=0A= return c};var = O=3Dfunction(){this.defaultBucket=3D[];this.layers=3D{};for(var = a=3D0,b=3Darguments.length;a0&&a.length>0)return = this.defaultBucket.join(",")+","+a.join(",");return = this.defaultBucket.join(",")+a.join(",")};var = ed=3Dfunction(a){this.S=3Da;dd(this)},fd=3D{};fd.google_persistent_state=3D= h;fd.google_persistent_state_async=3Dh;=0A= var = gd=3D{},P=3Dfunction(a){a=3Da&&fd[a]?a:K?"google_persistent_state_async":= "google_persistent_state";if(gd[a])return = gd[a];if(a=3D=3D"google_persistent_state_async")var b=3DM(),c=3D{};else = c=3Db=3DM();var d=3Db[a];if(typeof d!=3D"object"||typeof = d.S!=3D"object")return b[a]=3Dgd[a]=3Dnew ed(c);return = gd[a]=3Dd},dd=3Dfunction(a){Q(a,1,j);Q(a,2,j);Q(a,3,i);Q(a,4,0);Q(a,5,0);= Q(a,6,0);Q(a,7,(new = Date).getTime());Q(a,8,{});Q(a,9,{});Q(a,10,{});Q(a,11,[]);Q(a,12,0);Q(a,= 14,{})},hd=3Dfunction(a){switch(a){case = 1:return"google_new_domain_enabled";=0A= case 2:return"google_new_domain_checked";case = 3:return"google_exp_persistent";case 4:return"google_num_sdo_slots";case = 5:return"google_num_0ad_slots";case 6:return"google_num_ad_slots";case = 7:return"google_correlator";case = 8:return"google_prev_ad_formats_by_region";case = 9:return"google_prev_ad_slotnames_by_region";case = 10:return"google_num_slots_by_channel";case = 11:return"google_viewed_host_channels";case = 12:return"google_num_slot_to_show";case = 14:return"gaGlobal"}},R=3Dfunction(a,b){var c=3Dhd(b);return c=3D=0A= a.S[c]},S=3Dfunction(a,b,c){return = a.S[hd(b)]=3Dc},Q=3Dfunction(a,b,c){a=3Da.S;b=3Dhd(b);if(a[b]=3D=3D=3Dund= efined)return a[b]=3Dc;return a[b]},id=3Dfunction(a){if(R(a,1))return = h;return = S(a,1,!!window.google_new_domain_enabled)},jd=3Dfunction(a,b){return = S(a,3,b)};var T=3Dnavigator;=0A= function kd(a,b,c,d,e){var f=3DMath.round((new = Date).getTime()/1E3),g=3Dwindow.google_analytics_domain_name;a=3Dtypeof = g=3D=3D"undefined"?ld("auto",a):ld(g,a);var = m=3Db.indexOf("__utma=3D"+a+".")>-1;g=3Db.indexOf("__utmb=3D"+a)>-1;var = x=3Db.indexOf("__utmc=3D"+a)>-1,k=3DP();k=3DR(k,14)||S(k,14,{});if(m){b=3D= b.split("__utma=3D"+a+".")[1].split(";")[0].split(".");if(g&&x)k.sid=3Db[= 3]+"";else = if(!k.sid)k.sid=3Df+"";k.vid=3Db[0]+"."+b[1];k.from_cookie=3Dh}else{if(!k= .sid)k.sid=3Df+"";if(!k.vid)k.vid=3D(Math.round(Math.random()*2147483647)= ^md(b,=0A= c,d,e)&2147483647)+"."+f;k.from_cookie=3Dj}k.dh=3Da;if(!k.hid)k.hid=3DMat= h.round(Math.random()*2147483647);return k}function md(a,b,c,d){var = e=3D[T.appName,T.version,T.language?T.language:T.browserLanguage,T.platfo= rm,T.userAgent,T.javaEnabled()?1:0].join("");if(c)e+=3Dc.width+"x"+c.heig= ht+c.colorDepth;else = if(window.java){c=3Djava.awt.Toolkit.getDefaultToolkit().getScreenSize();= e+=3Dc.screen.width+"x"+c.screen.height}e+=3Da;e+=3Dd||"";for(a=3De.lengt= h;b>0;)e+=3Db--^a++;return nd(e)}=0A= function nd(a){var = b=3D1,c=3D0,d;if(!(a=3D=3Dundefined||a=3D=3D"")){b=3D0;for(d=3Da.length-1= ;d>=3D0;d--){c=3Da.charCodeAt(d);b=3D(b<<6&268435455)+c+(c<<14);c=3Db&266= 338304;b=3Dc!=3D0?b^c>>21:b}}return b}function = ld(a,b){if(!a||a=3D=3D"none")return = 1;a=3DString(a);if("auto"=3D=3Da){a=3Db;if("www."=3D=3Da.substring(0,4))a= =3Da.substring(4,a.length)}return nd(a.toLowerCase())};var = od=3Dfunction(a,b){var = c=3DD(a);if(c.defaultView&&c.defaultView.getComputedStyle)if(c=3Dc.defaul= tView.getComputedStyle(a,i))return = c[b]||c.getPropertyValue(b);return""},U=3Dfunction(a,b){return = od(a,b)||(a.currentStyle?a.currentStyle[b]:i)||a.style[b]},pd=3Dfunction(= a){a=3Da?a.nodeType=3D=3D9?a:D(a):document;if(z&&!mb(a).V())return = a.body;return a.documentElement},qd=3Dfunction(a){var = b=3Da.getBoundingClientRect();if(z){a=3Da.ownerDocument;b.left-=3Da.docum= entElement.clientLeft+a.body.clientLeft;b.top-=3Da.documentElement.client= Top+=0A= a.body.clientTop}return b},rd=3Dfunction(a){if(z)return = a.offsetParent;var = b=3DD(a),c=3DU(a,"position"),d=3Dc=3D=3D"fixed"||c=3D=3D"absolute";for(a=3D= a.parentNode;a&&a!=3Db;a=3Da.parentNode){c=3DU(a,"position");d=3Dd&&c=3D=3D= "static"&&a!=3Db.documentElement&&a!=3Db.body;if(!d&&(a.scrollWidth>a.cli= entWidth||a.scrollHeight>a.clientHeight||c=3D=3D"fixed"||c=3D=3D"absolute= "))return a}return i},sd=3Dfunction(a){var = b,c=3DD(a),d=3DU(a,"position"),e=3DWa&&c.getBoxObjectFor&&!a.getBoundingC= lientRect&&d=3D=3D"absolute"&&(b=3Dc.getBoxObjectFor(a))&&(b.screenX<0||=0A= b.screenY<0),f=3Dnew Ja(0,0),g=3Dpd(c);if(a=3D=3Dg)return = f;if(a.getBoundingClientRect){b=3Dqd(a);a=3Dmb(c).B();f.x=3Db.left+a.x;f.= y=3Db.top+a.y}else = if(c.getBoxObjectFor&&!e){b=3Dc.getBoxObjectFor(a);a=3Dc.getBoxObjectFor(= g);f.x=3Db.screenX-a.screenX;f.y=3Db.screenY-a.screenY}else{b=3Da;do{f.x+= =3Db.offsetLeft;f.y+=3Db.offsetTop;if(b!=3Da){f.x+=3Db.clientLeft||0;f.y+= =3Db.clientTop||0}if(A&&U(b,"position")=3D=3D"fixed"){f.x+=3Dc.body.scrol= lLeft;f.y+=3Dc.body.scrollTop;break}b=3Db.offsetParent}while(b&&b!=3Da);i= f(y||A&&d=3D=3D"absolute")f.y-=3Dc.body.offsetTop;=0A= for(b=3Da;(b=3Drd(b))&&b!=3Dc.body&&b!=3Dg;){f.x-=3Db.scrollLeft;if(!y||b= .tagName!=3D"TR")f.y-=3Db.scrollTop}}return f},td=3Dfunction(a){var = b=3Dnew Ja;if(a.nodeType=3D=3D1)if(a.getBoundingClientRect){var = c=3Dqd(a);b.x=3Dc.left;b.y=3Dc.top}else{c=3Dmb(a).B();a=3Dsd(a);b.x=3Da.x= -c.x;b.y=3Da.y-c.y}else{b.x=3Da.clientX;b.y=3Da.clientY}return = b},ud=3Dfunction(a,b,c,d){if(/^\d+px?$/.test(b))return = parseInt(b,10);else{var = e=3Da.style[c],f=3Da.runtimeStyle[c];a.runtimeStyle[c]=3Da.currentStyle[c= ];a.style[c]=3Db;b=3Da.style[d];a.style[c]=3De;a.runtimeStyle[c]=3D=0A= f;return b}},vd=3Dfunction(a){var = b=3DD(a),c=3D"";if(b.body.createTextRange){b=3Db.body.createTextRange();b= .moveToElementText(a);try{c=3Db.queryCommandValue("FontName")}catch(d){c=3D= ""}}if(!c){c=3DU(a,"fontFamily");if(y&&cb)c=3Dc.replace(/ = \[[^\]]*\]/,"")}a=3Dc.split(",");if(a.length>1)c=3Da[0];return = xa(c,"\"'")},wd=3D/[^\d]+$/,xd=3Dfunction(a){return(a=3Da.match(wd))&&a[0= ]||i},yd=3D{cm:1,"in":1,mm:1,pc:1,pt:1},zd=3D{em:1,ex:1},Ad=3Dfunction(a)= {var b=3DU(a,"fontSize"),c=3Dxd(b);if(b&&"px"=3D=3Dc)return = parseInt(b,10);if(z)if(c in yd)return ud(a,=0A= b,"left","pixelLeft");else = if(a.parentNode&&a.parentNode.nodeType=3D=3D1&&c in = zd){a=3Da.parentNode;c=3DU(a,"fontSize");return = ud(a,b=3D=3Dc?"1em":b,"left","pixelLeft")}c=3Dub("span",{style:"visibilit= y:hidden;position:absolute;line-height:0;padding:0;margin:0;border:0;heig= ht:1em;"});xb(a,c);b=3Dc.offsetHeight;zb(c);return b};var = V=3Dfunction(a,b,c,d,e,f){this.X=3Dj;this.ga=3Da;this.K=3De;this.M=3Df;th= is.ja=3Db;this.l=3D+c;this.k=3D+d;this.m=3D[]};V.prototype.collapse=3Dfun= ction(){var = a=3Dthis.D();if(a){this.fa();this.X=3Dj}};V.prototype.j=3Dfunction(a){thi= s.d(a,"zIndex","999999")};V.prototype.O=3Dfunction(a,b,c){this.d(a,"width= ",b+"px");this.d(a,"height",c+"px");this.j(a)};V.prototype.C=3Dfunction()= {var a=3D[],b=3Dthis.D();if(!b)return = a;a.push(b);this.K&&this.M&&a.push(this.K.document.getElementById(this.M)= );return a};=0A= V.prototype.expand=3Dfunction(a,b,c){var = d=3Dthis.C();if(!(d.length<=3D0)){for(var = e=3D0,f=3Dd.length;ethis.l= &&(c=3D=3D0||c=3D=3D3))this.d(d,"left","-"+(a-this.l)+"px");if(b>this.k&&= (c=3D=3D1||c=3D=3D0))this.d(d,"top","-"+(b-this.k)+"px");a=3Dd.parentNode= ;b=3Da.parentNode;if(a.nodeName.toLowerCase()=3D=3D"ins"){this.j(a);this.= j(b)}for(a=3Db.parentNode;a&&a.style;a=3Da.parentNode){if(a.nodeName.toLo= werCase()=3D=3D"body")break;a.style.overflow!=3D"visible"&&this.d(a,"over= flow","visible")}this.X=3Dh}};=0A= V.prototype.N=3Dfunction(a,b){var = c=3Dthis.C();c=3Dc[c.length-1];c=3Dtd(c);var = d=3Dthis.K||window;d=3Drb(d||window);var = e=3Da-this.l,f=3Db-this.k,g=3Dc.y;f=3Df>g;var = m=3Dd.height-(c.y+this.k);g=3Df||m>=3Dg;f=3Dc.x;e=3De>f;c=3Dd.width-(c.x+= this.l);c=3De||c>=3Df;d=3D2;if(g&&!c)d=3D3;else if(!g&&c)d=3D1;else = if(!g&&!c)d=3D0;return = d};V.prototype.D=3Dfunction(){if(!this.U)this.U=3DE.getElementById(this.g= a);return this.U};V.prototype.d=3Dfunction(a,b,c){this.m.push(new = Bd(a,b,c))};=0A= V.prototype.fa=3Dfunction(){for(var = a=3D0,b=3Dthis.m.length;a=3D3)b=3Da[a.length-3]in = Sd;if(a.length>=3D2)b=3Db||a[a.length-2]in Sd;return b}=0A= function Ud(a,b,c){var = d=3DP();if(Td(a))return!S(d,2,h);if(!R(d,2)){a=3DMath.random();if(a<=3Dc)= {c=3D"http://"+ma()+"/pagead/test_domain.js";a=3D"script";b.write("<"+a+'= src=3D_%27%2bc%2b%27_.html>");return S(d,2,h)}}return j}var = Vd=3Dfunction(a){var b=3DW();if(b.b(1)=3D=3D"44901228")return = j;if(b.b(1)=3D=3D"44901229"||Math.random()0){var = f=3De.length>1?e[1].url:i;d.push([a,wa(e[0].url),f])}c(e)}};Z.prototype.$= =3Dfunction(a){this.e.push(a)};Z.prototype.ba=3Dfunction(a){this.h.push(a= )};var Xd=3D"http://"+t()+"/pagead/osd.js";=0A= Z.prototype.Y=3Dfunction(){if(!this.H){Kb(M());Ib(Xd);this.H=3Dh}};Z.prot= otype.P=3Dfunction(a){if(this.e.length>0)if(this.G)for(var = b=3Dthis.f.document.getElementsByTagName("iframe"),c=3D0;c0)for(var = c=3Dthis.f.document.getElementsByTagName("a"),d=3D0;d0){f=3Dg;break}g=3Dg= .parentNode}a(f,b[e][0]);b.splice(e,1);break}};Z.prototype.R=3Dfunction(a= ){for(var b=3D0;b0)= {for(var = e=3D0;e");g=3D=3D"30143206"?b.write("<"+c+' = src=3D_http_/%27%2bt()%2b%27/pagead/js/test_expansion_embed.html>"):b.wri= te("<"+c+' src=3D_http_/%27%2bt()%2b%27/pagead/expansion_embed.html>")}e=3DUd(a,b,lc);(d=3Dd||e)&&Mb("msie")&&!window.opera?b.write("<"+c= +' = src=3D_http_/%27%2bt()%2b%27/pagead/render_ads.html>"):b.write("<"+c+'>go= ogle_protectAndRun("ads_core.google_render_ad", google_handleError, = google_render_ad);")}function he(a){return = a!=3Di?'"'+a+'"':'""'}var ie=3Dfunction(a,b){var = c=3Db.slice(-1),d=3Dc=3D=3D"?"||c=3D=3D"#"?"":"&",e=3D[b];c=3Dfunction(f,= g){if(f||f=3D=3D=3D0||f=3D=3D=3Dj){if(typeof = f=3D=3D"boolean")f=3Df?1:0;Hb(e,d,g,"=3D",H(f));d=3D"&"}};G(a,c);return = e.join("")};=0A= function je(){var = a=3Dz&&B("6"),b=3DWa&&B("1.8.1"),c=3DA&&B("525");if(bb&&(a||b||c))return = h;else if(ab&&(c||b))return h;else if(cb&&(c||b))return h;return = j}function ge(){return typeof = ExpandableAdSlotFactory=3D=3D"object"&&typeof = ExpandableAdSlotFactory.createIframe=3D=3D"function"}=0A= function fe(a,b){var = c=3Da.google_ad_width,d=3Da.google_ad_height,e=3DM();if(a.google_allow_ex= pandable_ads=3D=3D=3Dj||!b.body||a.google_ad_output!=3D"html"||Lc(e,e.doc= ument,c,d)||!ke(a)||isNaN(a.google_ad_height)||isNaN(a.google_ad_width)||= !je()||b.domain!=3Da.location.hostname)return j;return h}function = ke(a){var b=3Da.google_ad_format;if(I(b))return = j;if(Pb(a)&&b!=3D"468x15_0ads_al")return j;return h}=0A= function le(){var = a;if(F.google_ad_output=3D=3D"html"&&!(Pb(F)||I(F.google_ad_format))&&$d(= 0)){a=3D["6083035","6083034"];a=3DQb(a,qc);ae(a,0)}return = a=3D=3D"6083035"}function = me(a,b){if(!Pd(a)||I(a.google_ad_format))return"";var = c=3D"",d=3DPb(a);if(b=3D=3D"html"||d)c=3DQb(["36815001","36815002"],mc);i= f(c=3D=3D""&&(b=3D=3D"js"||d))c=3DQb(["36815003","36815004"],nc);if(c=3D=3D= ""&&(b=3D=3D"html"||b=3D=3D"js"))c=3DQb(["36813005","36813006"],oc);retur= n c}=0A= function ne(){var = a=3DZd(),b=3Dwindow.google_enable_osd,c;if(b=3D=3D=3Dh){c=3D"36813006";oe= (c,a)}else = if(b!=3D=3Dj&&$d(0)){c=3Da.getEid();if(c=3D=3D"")(c=3Dme(window,String(wi= ndow.google_ad_output||"")))&&oe(c,a);else = if(c!=3D"36815001"&&c!=3D"36815002"&&c!=3D"36815003"&&c!=3D"36815004"&&c!= =3D"36813005"&&c!=3D"36813006")c=3D""}if(c){ae(c,0);return c}return""}=0A= function oe(a,b){var c=3Db.getOsdMode(),d=3D[];switch(a){case = "36815004":c=3D1;d=3D["js"];break;case = "36815002":c=3D1;d=3D["html"];break;case = "36813006":c=3D0;d=3D["html","js"]}d.length>0&&b.setValidOutputTypes(d);d= =3DP();b.setupOsd(c,a,R(d,7).toString())}=0A= function pe(a,b,c,d){K||Nd(a);var = e=3DOd(a);c=3Die({ifi:e},c);c=3Dc.substring(0,1991);c=3Dc.replace(/%\w?$/= ,"");var = f=3D"script",g=3D"google_ads_frame"+e,m=3DW().b(5);if((a.google_ad_output= =3D=3D"js"||a.google_ad_output=3D=3D"json_html")&&(a.google_ad_request_do= ne||a.google_radlink_request_done))b.write("<"+f+' = language=3D"JavaScript1.1" src=3D%27%2bhe(ba(c))%2b_.html>");else = if(a.google_ad_output=3D=3D"html"){f=3Dde?c.replace(/&ea=3D[^&]*/,"")+"&e= a=3D0":c;f=3D[''].join("");var = x=3DKd,k=3DLd;d=3Da.google_container_id||d||i;if(typeof = iframes=3D=3D"object"&&typeof = iframes.open=3D=3D"function"&&(uc&&rc()!=3D"dev"||m=3D=3D"30143208"||m=3D= =3Dx.CONTROL||m=3D=3Dx.EXPERIMENT_BADGE_AFTER_TITLE||m=3D=3Dx.EXPERIMENT_= BADGE_AFTER_TEXT||m=3D=3Dx.EXPERIMENT_BADGE_BENEATH_CREATIVE||m=3D=3Dk.CO= NTROL||m=3D=3Dk.EXPERIMENT_BADGE_AFTER_TITLE||m=3D=3Dk.EXPERIMENT_BADGE_B= ENEATH_CREATIVE)){Ed();=0A= iframes.setVersionOverride("gcm_66a225a4a9849ebff5b9f77536ce7311.js");ifr= ames.open(ba(c),{style:"expandable",id:g,rpcToken:"adsense_rpc_key",width= :a.google_ad_width,height:a.google_ad_height,cssStyle:"left:0;position:ab= solute;top:0",topMostFriendlyWindow:M(),friendlyIframeId:a.google_async_i= frame_id},{})}else = if(de&&ge())a["google_expandable_ad_slot"+e]=3DExpandableAdSlotFactory.cr= eateIframe(g,ba(c),a.google_ad_width,a.google_ad_height,d,M(),a.google_as= ync_iframe_id);else a.google_container_id?qe(a.google_container_id,=0A= b,f):b.write(f);K&&re(a.google_async_iframe_id,f)}m=3D=3D"30143103"&&e=3D= =3D1&&!a.google_container_id&&b.write('');return c}var re=3Dfunction(a,b){var = c=3D"javascript:"+Ba(["",b,""].join("")),d=3DM();(new = Md(d)).set(a,c)};function se(a){Zc(a)}=0A= function te(a){var b=3DId().b(2)=3D=3D"44901217";if(!ue(b))return = j;b=3Dle();var = c=3DWd(window,Od(window));a=3Dve(a);b=3Dc+we(a.google_ad_format,b);window= .google_ad_url=3Die(a,b);return h}=0A= var = Ae=3Dfunction(a){a.dt=3Daa;if(K&&window.google_bpp)a.bpp=3Dwindow.google_= bpp;a.shv=3Drc();var = b=3D!!window.google_test_1,c=3D!!window.google_test_2;if(b)a.tsi=3Dc?"3":= "2";a.jsv=3D"/r20110208".replace("/","");if(window.google_loader_used)a.s= aldr=3D1;b=3DP();c=3DR(b,8);var = d=3Dwindow.google_ad_section,e=3Dwindow.google_ad_format,f=3Dwindow.googl= e_ad_slot;if(c[d])I(e)||(a.prev_fmts=3Dc[d]);var = g=3DR(b,9);if(g[d])a.prev_slotnames=3Dg[d].toLowerCase();if(e){if(!I(e))i= f(c[d])c[d]+=3D=0A= ","+e;else c[d]=3De}else if(f)if(g[d])g[d]+=3D","+f;else = g[d]=3Df;a.correlator=3DR(b,7);if(R(b,2)&&!id(b))a.dblk=3D1;if(window.goo= gle_ad_channel){c=3DR(b,10);d=3D"";e=3Dwindow.google_ad_channel.split(xe)= ;for(f=3D0;f-1){for(= f=3D0;f0&&b.length>0)a.eid+=3D",";a.eid+=3Db};funct= ion Ke(a,b,c,d){a=3Dxc(a,b,c,d);ee(window,document);return a}function = Le(){Yc()}=0A= function Me(a){var = b=3D{};a=3Da.split("?");a=3Da[a.length-1].split("&");for(var = c=3D0;c1?wind= ow.decodeURIComponent?decodeURIComponent(d[1].replace(/\+/g," = ")):unescape(d[1]):""}catch(e){}}return b}function Ne(){var = a=3Dwindow,b=3DMe(document.URL);if(b.google_ad_override){a.google_ad_over= ride=3Db.google_ad_override;a.google_adtest=3D"on"}}=0A= function = qe(a,b,c){if(a)if((a=3Db.getElementById(a))&&c&&c.length!=3D""){a.style.v= isibility=3D"visible";a.innerHTML=3Dc}}=0A= var we=3Dfunction(a,b){var c;return = c=3DI(a)?"/pagead/sdo?":b?"/pagead/render_iframe_ads.html#":"/pagead/ads?= "},Oe=3Dfunction(a,b){b.dff=3Dvd(a).toLowerCase();b.dfs=3DAd(a)},Pe=3Dfun= ction(a){a.ref=3Dwindow.google_referrer_url;a.loc=3Dwindow.google_page_lo= cation},ue=3Dfunction(a){var = b=3DP(),c=3DR(b,8),d=3DR(b,9),e=3Dwindow.google_ad_section;if(I(window.go= ogle_ad_format)){if(S(b,4,R(b,4)+1)>4&&!a)return j}else = if(Pb(window)){if(S(b,5,R(b,5)+1)>3&&!a)return j}else{var = f=3DS(b,6,R(b,6)+1);if(window.google_num_slots_to_rotate){zc(1);=0A= c[e]=3D"";d[e]=3D"";R(b,12)||S(b,12,(new = Date).getTime()%window.google_num_slots_to_rotate+1);if(R(b,12)!=3Df)retu= rn j}else if(!a&&f>6&&e=3D=3D"")return j}return h},ve=3Dfunction(a){var = b=3D{};Ie(b);Ae(b);Rb(b);a&&Oe(a,b);Be(b);Ce(b);Je(b);Pe(b);b.fu=3Dyc;ret= urn b},He=3Dfunction(a){var = b=3Dwindow.google_container_id,c=3Db&&ob(b)||ob(a);if(!c&&!b&&a){document= .write("");c=3Dob(a)}return c},xe=3D/[+, = ]/;window.google_render_ad=3DGe;function Qe(){if(uc&&typeof = F.alternateShowAds=3D=3D"function")F.alternateShowAds.call(i);else{Ne();R= d();var a=3Dwindow.google_start_time;if(typeof = a=3D=3D"number"){aa=3Da;window.google_start_time=3Di}vc("show_ads.google_= init_globals",Ke,Le);ee(window,document)}}vc("show_ads.main",xc,Qe);})()=0A= ------=_NextPart_000_0000_01CF1829.34CBA200 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/Users/R%26D%201/Documents/Research/Digital/MIDI/DIY%20MIDI%20Controllers%20using%20PIC%20Microcontrollers%20and%20Basic%20Stamps_files/expansion_embed.js (function(){function h(a){throw a;}=0A= var = j=3Dtrue,l=3Dnull,n=3Dfalse,q,r=3Dthis,t=3Dfunction(a,b,c){a=3Da.split(".= ");c=3Dc||r;!(a[0]in c)&&c.execScript&&c.execScript("var "+a[0]);for(var = d;a.length&&(d=3Da.shift());)if(!a.length&&b!=3D=3Dundefined)c[d]=3Db;els= e c=3Dc[d]?c[d]:c[d]=3D{}},u=3Dfunction(){},aa=3Dfunction(a){var = b=3Dtypeof a;if(b=3D=3D"object")if(a){if(a instanceof Array||!(a = instanceof Object)&&Object.prototype.toString.call(a)=3D=3D"[object = Array]"||typeof a.length=3D=3D"number"&&typeof = a.splice!=3D"undefined"&&typeof = a.propertyIsEnumerable!=3D"undefined"&&!a.propertyIsEnumerable("splice"))= return"array";=0A= if(!(a instanceof = Object)&&(Object.prototype.toString.call(a)=3D=3D"[object = Function]"||typeof a.call!=3D"undefined"&&typeof = a.propertyIsEnumerable!=3D"undefined"&&!a.propertyIsEnumerable("call")))r= eturn"function"}else return"null";else if(b=3D=3D"function"&&typeof = a.call=3D=3D"undefined")return"object";return b},v=3Dfunction(a){return = aa(a)=3D=3D"array"},ba=3Dfunction(a){var b=3Daa(a);return = b=3D=3D"array"||b=3D=3D"object"&&typeof = a.length=3D=3D"number"},w=3Dfunction(a){return typeof = a=3D=3D"string"},ca=3Dfunction(a){return aa(a)=3D=3D"function"},=0A= da=3Dfunction(a){a=3Daa(a);return = a=3D=3D"object"||a=3D=3D"array"||a=3D=3D"function"},ga=3Dfunction(a){retu= rn = a[ea]||(a[ea]=3D++fa)},ea=3D"closure_uid_"+Math.floor(Math.random()*21474= 83648).toString(36),fa=3D0,x=3Dfunction(a,b){var = c=3Db||r;if(arguments.length>2){var = d=3DArray.prototype.slice.call(arguments,2);return function(){var = e=3DArray.prototype.slice.call(arguments);Array.prototype.unshift.apply(e= ,d);return a.apply(c,e)}}else return function(){return = a.apply(c,arguments)}},ha=3DDate.now||function(){return+new = Date},z=3Dfunction(a,=0A= b){function = c(){}c.prototype=3Db.prototype;a.G=3Db.prototype;a.prototype=3Dnew = c};var = ia=3D/^[a-zA-Z0-9\-_.!~*'()]*$/,ja=3Dfunction(a){a=3DString(a);if(!ia.tes= t(a))return encodeURIComponent(a);return a},la=3Dfunction(a,b){for(var = c=3D0,d=3DString(a).replace(/^[\s\xa0]+|[\s\xa0]+$/g,"").split("."),e=3DS= tring(b).replace(/^[\s\xa0]+|[\s\xa0]+$/g,"").split("."),f=3DMath.max(d.l= ength,e.length),g=3D0;c=3D=3D0&&gb)return 1;return 0};var = ma=3DArray.prototype,na=3Dma.indexOf?function(a,b,c){return = ma.indexOf.call(a,b,c)}:function(a,b,c){c=3Dc=3D=3Dl?0:c<0?Math.max(0,a.l= ength+c):c;if(w(a)){if(!w(b)||b.length!=3D1)return-1;return = a.indexOf(b,c)}for(c=3Dc;c=3D0){var = e=3Da;c=3Dc;ma.splice.call(e,c,1)}return d},qa=3D=0A= function(a){for(var b=3D1;bparseFloat(Ka)= ){Ja=3DString(Oa);break a}}Ja=3DKa}var = Qa=3DJa,Ra=3D{},E=3Dfunction(a){return = Ra[a]||(Ra[a]=3Dla(Qa,a)>=3D0)};var Sa;!C||E("9");C&&E("9");var = Va=3Dfunction(a){return a?new Ta(Ua(a)):Sa||(Sa=3Dnew = Ta)},Wa=3Dfunction(a){var b=3Da.document;if(D&&!E("500")&&!Ea){if(typeof = a.innerHeight=3D=3D"undefined")a=3Dwindow;b=3Da.innerHeight;var = c=3Da.document.documentElement.scrollHeight;if(a=3D=3Da.top)if(ca.clientWidth||a.scrollHeight>a.clientHeight||c=3D=3D"fixed"||c=3D=3D= "absolute"))return a}return l};var F=3Ddocument,db=3Dwindow;var = eb=3Dfunction(a){a=3Da||F.location.protocol+"//"+F.location.host;return = a+"/robots.txt"};var = fb=3Dfunction(a){return!!a&&(a.indexOf("?google_debug")>0||a.indexOf("&go= ogle_debug")>0)};var = G=3Dfunction(a,b,c,d,e,f){this.C=3Dn;this.Na=3Da;this.Ha=3De;this.Oa=3Df;= this.tb=3Db;this.m=3D+c;this.l=3D+d;this.ga=3D[]};G.prototype.la=3Dfuncti= on(){return this.C};G.prototype.xa=3Dfunction(){return = this.m};G.prototype.wa=3Dfunction(){return = this.l};G.prototype.collapse=3Dfunction(){var = a=3Dgb(this);if(a){a=3D0;for(var b=3Dthis.ga.length;athis.m&&(c=3D=3D0||c=3D=3D3))I(this,d,"left","= -"+(a-this.m)+"px");if(b>this.l&&(c=3D=3D1||c=3D=3D0))I(this,d,"top","-"+= (b-this.l)+"px");a=3Dd.parentNode;b=3Da.parentNode;if(a.nodeName.toLowerC= ase()=3D=3D"ins"){hb(this,a);hb(this,b)}for(a=3Db.parentNode;a&&a.style;a= =3Da.parentNode){if(a.nodeName.toLowerCase()=3D=3D"body")break;a.style.ov= erflow!=3D=0A= "visible"&&I(this,a,"overflow","visible")}this.C=3Dj}};var = gb=3Dfunction(a){if(!a.eb)a.eb=3DF.getElementById(a.Na);return = a.eb},I=3Dfunction(a,b,c,d){a.ga.push(new = jb(b,c,d))},jb=3Dfunction(a,b,c){this.mb=3Da;this.Bb=3Db;this.Ob=3Da.styl= e[b];this.mb.style[b]=3Dc};var = J=3Dfunction(){};J.prototype.ha=3Dn;J.prototype.D=3Dfunction(){if(!this.h= a){this.ha=3Dj;this.e()}};J.prototype.e=3Dfunction(){};var = kb;!C||E("9");C&&E("8");var = lb=3Dfunction(a,b){this.type=3Da;this.currentTarget=3Dthis.target=3Db};z(= lb,J);lb.prototype.e=3Dfunction(){delete this.type;delete = this.target;delete = this.currentTarget};lb.prototype.Ga=3Dn;lb.prototype.Wb=3Dj;var = mb=3Dfunction(a,b){a&&this.ka(a,b)};z(mb,lb);q=3Dmb.prototype;q.target=3D= l;q.relatedTarget=3Dl;q.offsetX=3D0;q.offsetY=3D0;q.clientX=3D0;q.clientY= =3D0;q.screenX=3D0;q.screenY=3D0;q.button=3D0;q.keyCode=3D0;q.charCode=3D= 0;q.ctrlKey=3Dn;q.altKey=3Dn;q.shiftKey=3Dn;q.metaKey=3Dn;q.Qb=3Dn;q.va=3D= l;=0A= q.ka=3Dfunction(a,b){var = c=3Dthis.type=3Da.type;this.target=3Da.target||a.srcElement;this.currentT= arget=3Db;var = d=3Da.relatedTarget;if(d){if(Da)try{d=3Dd.nodeName&&d}catch(e){d=3Dl}}els= e if(c=3D=3D"mouseover")d=3Da.fromElement;else = if(c=3D=3D"mouseout")d=3Da.toElement;this.relatedTarget=3Dd;this.offsetX=3D= a.offsetX!=3D=3Dundefined?a.offsetX:a.layerX;this.offsetY=3Da.offsetY!=3D= =3Dundefined?a.offsetY:a.layerY;this.clientX=3Da.clientX!=3D=3Dundefined?= a.clientX:a.pageX;this.clientY=3Da.clientY!=3D=3Dundefined?a.clientY:a.pa= geY;this.screenX=3Da.screenX||0;=0A= this.screenY=3Da.screenY||0;this.button=3Da.button;this.keyCode=3Da.keyCo= de||0;this.charCode=3Da.charCode||(c=3D=3D"keypress"?a.keyCode:0);this.ct= rlKey=3Da.ctrlKey;this.altKey=3Da.altKey;this.shiftKey=3Da.shiftKey;this.= metaKey=3Da.metaKey;this.Qb=3DIa?a.metaKey:a.ctrlKey;this.va=3Da;delete = this.Wb;delete = this.Ga};q.e=3Dfunction(){mb.G.e.call(this);this.relatedTarget=3Dthis.cur= rentTarget=3Dthis.target=3Dthis.va=3Dl};var = K=3Dfunction(a,b){this.ib=3Db;this.J=3D[];var = c=3Da;if(c>this.ib)h(Error("[goog.structs.SimplePool] Initial cannot be = greater than max"));for(var = d=3D0;d=3D0),g;Cb=3Dfunction(o){g=3Do};if(f){xb=3Dfunctio= n(){return nb(i)};yb=3Dfunction(o){pb(i,o)};zb=3Dfunction(){return = nb(m)};Ab=3Dfunction(o){pb(m,o)};Bb=3Dfunction(){return = nb(k)};Db=3Dfunction(){pb(k,c())};Eb=3Dfunction(){return = nb(p)};Fb=3Dfunction(o){pb(p,o)};Gb=3Dfunction(){return = nb(y)};Hb=3Dfunction(o){pb(y,=0A= o)};var i=3Dnew K(0,600);i.w=3Da;var m=3Dnew K(0,600);m.w=3Db;var = k=3Dnew K(0,600);k.w=3Dc;var p=3Dnew K(0,600);p.w=3Dd;var y=3Dnew = K(0,600);y.w=3De}else{xb=3Da;yb=3Du;zb=3Db;Ab=3Du;Bb=3Dc;Db=3Du;Eb=3Dd;Fb= =3Du;Gb=3De;Hb=3Du}})();var = Ib=3D{},L=3D{},Jb=3D{},Kb=3D"on",Lb=3D{},Mb=3Dfunction(a,b,c,d,e){if(b)if= (v(b)){for(var f=3D0;f=3D0&&g.W;H--){k.currentTarget=3Do[H];f&=3DSb(g,o= [H],d,j,k)}if(m){g=3De[n];g.W=3Dg.c;for(H=3D0;!k.Ga&&H1){if(b%2)h(Error("Uneven number of = arguments"));for(var = c=3D0;c2*this.c&&cc(this);return = j}return n};var cc=3Dfunction(a){if(a.c!=3Da.g.length){for(var = b=3D0,c=3D0;b=3Dc.length)h(Zb);var = i=3Dc[b++];return a?i:d[i]}};return g};var dc=3Dfunction(a,b){return = Object.prototype.hasOwnProperty.call(a,b)};var = ec=3DRegExp("^(?:([^:/?#.]+):)?(?://(?:([^/?#]*)@)?([\\w\\d\\-\\u0100-\\u= ffff.%]*)(?::([0-9]+))?)?([^?#]+)?(?:\\?([^#]*))?(?:#(.*))?$");var = N=3Dfunction(a,b){var c;if(a instanceof = N){this.Y(b=3D=3Dl?a.t:b);fc(this,a.o);gc(this,a.O);hc(this,a.s);ic(this,= a.v);jc(this,a.n);kc(this,a.i.q());lc(this,a.I)}else = if(a&&(c=3DString(a).match(ec))){this.Y(!!b);fc(this,c[1]||"",j);gc(this,= c[2]||"",j);hc(this,c[3]||"",j);ic(this,c[4]);jc(this,c[5]||"",j);kc(this= ,c[6]||"",j);lc(this,c[7]||"",j)}else{this.Y(!!b);this.i=3Dnew = O(l,this,this.t)}};q=3DN.prototype;q.o=3D"";q.O=3D"";q.s=3D"";q.v=3Dl;q.n= =3D"";q.I=3D"";q.Nb=3Dn;q.t=3Dn;=0A= q.toString=3Dfunction(){if(this.p)return this.p;var = a=3D[];this.o&&a.push(mc(this.o,nc),":");if(this.s){a.push("//");this.O&&= a.push(mc(this.O,nc),"@");var = b;b=3Dthis.s;b=3Dw(b)?encodeURIComponent(b):l;a.push(b);this.v!=3Dl&&a.pu= sh(":",String(this.v))}if(this.n){this.s&&this.n.charAt(0)!=3D"/"&&a.push= ("/");a.push(mc(this.n,oc))}(b=3DString(this.i))&&a.push("?",b);this.I&&a= .push("#",mc(this.I,pc));return this.p=3Da.join("")};=0A= q.q=3Dfunction(){var a;a=3Dthis.o;var = b=3Dthis.O,c=3Dthis.s,d=3Dthis.v,e=3Dthis.n,f=3Dthis.i.q(),g=3Dthis.I,i=3D= new = N(l,this.t);a&&fc(i,a);b&&gc(i,b);c&&hc(i,c);d&&ic(i,d);e&&jc(i,e);f&&kc(= i,f);g&&lc(i,g);return a=3Di};=0A= var fc=3Dfunction(a,b,c){P(a);delete = a.p;a.o=3Dc?qc(b):b;if(a.o)a.o=3Da.o.replace(/:$/,"");return = a},gc=3Dfunction(a,b,c){P(a);delete a.p;a.O=3Dc?qc(b):b;return = a},hc=3Dfunction(a,b,c){P(a);delete a.p;a.s=3Dc?qc(b):b;return = a},ic=3Dfunction(a,b){P(a);delete = a.p;if(b){b=3DNumber(b);if(isNaN(b)||b<0)h(Error("Bad port number = "+b));a.v=3Db}else a.v=3Dl;return a},jc=3Dfunction(a,b,c){P(a);delete = a.p;a.n=3Dc?qc(b):b;return a},kc=3Dfunction(a,b,c){P(a);delete a.p;if(b = instanceof O){a.i=3Db;a.i.La=3Da;a.i.Y(a.t)}else{c||(b=3Dmc(b,rc));a.i=3D=0A= new O(b,a,a.t)}return a},lc=3Dfunction(a,b,c){P(a);delete = a.p;a.I=3Dc?qc(b):b;return a},P=3Dfunction(a){if(a.Nb)h(Error("Tried to = modify a read-only = Uri"))};N.prototype.Y=3Dfunction(a){this.t=3Da;this.i&&this.i.Y(a)};=0A= var qc=3Dfunction(a){return = a?decodeURIComponent(a):""},sc=3D/^[a-zA-Z0-9\-_.!~*'():\/;?]*$/,mc=3Dfun= ction(a,b){var = c=3Dl;if(w(a)){c=3Da;sc.test(c)||(c=3DencodeURI(a));if(c.search(b)>=3D0)c= =3Dc.replace(b,tc)}return = c},tc=3Dfunction(a){a=3Da.charCodeAt(0);return"%"+(a>>4&15).toString(16)+= (a&15).toString(16)},nc=3D/[#\/\?@]/g,oc=3D/[\#\?]/g,rc=3D/[\#\?@]/g,pc=3D= /#/g,O=3Dfunction(a,b,c){this.z=3Da||l;this.La=3Db||l;this.t=3D!!c},R=3Df= unction(a){if(!a.b){a.b=3Dnew M;if(a.z)for(var = b=3Da.z.split("&"),c=3D0;c=3D0){e=3Db[c].substring(0,d);f=3Db[c].substring(d+1)}el= se e=3Db[c];e=3DdecodeURIComponent(e.replace(/\+/g," = "));e=3DQ(a,e);a.add(e,f?decodeURIComponent(f.replace(/\+/g," = ")):"")}}};q=3DO.prototype;q.b=3Dl;q.c=3Dl;q.add=3Dfunction(a,b){R(this);= uc(this);a=3DQ(this,a);if(this.H(a)){var = c=3Dthis.b.A(a);v(c)?c.push(b):this.b.set(a,[c,b])}else = this.b.set(a,b);this.c++;return = this};q.remove=3Dfunction(a){R(this);a=3DQ(this,a);if(this.b.H(a)){uc(thi= s);var b=3Dthis.b.A(a);if(v(b))this.c-=3Db.length;else this.c--;return = this.b.remove(a)}return n};=0A= q.H=3Dfunction(a){R(this);a=3DQ(this,a);return = this.b.H(a)};q.R=3Dfunction(){R(this);for(var = a=3Dthis.b.K(),b=3Dthis.b.R(),c=3D[],d=3D0;d0&&a.push("&");a.push(f);e[g]!=3D=3D""&&a.push("=3D= ",ja(e[g]));b++}else{b>0&&a.push("&");a.push(f);e!=3D=3D""&&a.push("=3D",= ja(e));b++}}return this.z=3Da.join("")};var uc=3Dfunction(a){delete = a.Q;delete a.z;a.La&&delete a.La.p};=0A= O.prototype.q=3Dfunction(){var a=3Dnew = O;if(this.Q)a.Q=3Dthis.Q;if(this.z)a.z=3Dthis.z;if(this.b)a.b=3Dthis.b.q(= );return a};var Q=3Dfunction(a,b){var = c=3DString(b);if(a.t)c=3Dc.toLowerCase();return = c};O.prototype.Y=3Dfunction(a){var = b=3Da&&!this.t;if(b){R(this);uc(this);bc(this.b,function(c,d){var = e=3Dd.toLowerCase();if(d!=3De){this.remove(d);this.add(e,c)}},this)}this.= t=3Da};var S=3D{},wc=3Dfunction(a,b){for(var = c=3Db||vc,d=3Dc.length,e=3D"";a-- = >0;)e+=3Dc.charAt(Math.floor(Math.random()*d));return = e},vc=3D"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";= var T=3Dfunction(){};z(T,J);T.prototype.N=3D0;var = xc=3Dfunction(a){this.a=3Da;this.ca=3D[];this.Eb=3Dx(this.Fb,this)};z(xc,= T);q=3Dxc.prototype;q.N=3D2;q.Ia=3Dn;q.$b=3D0;q.r=3Dfunction(){if(yc(this= .a)=3D=3D0){this.B=3Dthis.a.T;this.B.XPC_toOuter=3Dx(this.fb,this)}else = this.Sa()};q.Sa=3Dfunction(){var = a=3Dj;try{if(!this.B)this.B=3Dwindow.frameElement;if(this.B&&this.B.XPC_t= oOuter){this.Da=3Dthis.B.XPC_toOuter;this.B.XPC_toOuter.XPC_toInner=3Dx(t= his.fb,this);a=3Dn;this.send("tp","SETUP_ACK");U(this.a)}}catch(b){}if(a)= {if(!this.Ra)this.Ra=3Dx(this.Sa,this);window.setTimeout(this.Ra,100)}};=0A= q.Ka=3Dfunction(a){if(yc(this.a)=3D=3D0&&this.a.h!=3D2&&a=3D=3D"SETUP_ACK= "){this.Da=3Dthis.B.XPC_toOuter.XPC_toInner;U(this.a)}else h(Error("Got = unexpected transport = message."))};q.fb=3Dfunction(a,b){if(!this.Ia&&this.ca.length=3D=3D0)V(th= is.a,a,b);else{this.ca.push({Yb:a,Fa:b});if(this.ca.length=3D=3D1)this.$b= =3Dwindow.setTimeout(this.Eb,1)}};q.Fb=3Dfunction(){for(;this.ca.length;)= {var = a=3Dthis.ca.shift();V(this.a,a.Yb,a.Fa)}};q.send=3Dfunction(a,b){this.Ia=3D= j;this.Da(a,b);this.Ia=3Dn};=0A= q.e=3Dfunction(){xc.G.e.call(this);this.B=3Dthis.Da=3Dl};var = W=3Dfunction(a){this.a=3Da;this.da=3Dthis.a.f.ppu;this.Tb=3Dthis.a.f.lpu;= this.oa=3D[]},zc,Ac;z(W,T);W.prototype.N=3D4;W.prototype.Ja=3D0;W.prototy= pe.Z=3Dn;W.prototype.L=3Dn;var = Bc=3Dfunction(a){return"googlexpc_"+a.a.name+"_msg"},Cc=3Dfunction(a){ret= urn"googlexpc_"+a.a.name+"_ack"};=0A= W.prototype.r=3Dfunction(){if(!this.L){var = a=3DBc(this);this.V=3DDc(this,a);this.Ca=3Dwindow.frames[a];a=3DCc(this);= this.P=3DDc(this,a);this.ra=3Dwindow.frames[a];this.L=3Dj}if(Ec(this,Bc(t= his))&&Ec(this,Cc(this))){this.jb=3Dnew = Fc(this,this.a.k.frames[Bc(this)],x(this.Sb,this));this.Ma=3Dnew = Fc(this,this.a.k.frames[Cc(this)],x(this.Rb,this));this.Wa()}else{if(yc(t= his.a)=3D=3D1&&!this.Vb){this.a.name=3Dwc(10);Gc(this);this.L=3Dn;this.Vb= =3DDc(this,"googlexpc_reconnect_"+this.a.name)}else = if(yc(this.a)=3D=3D0){a=3Dthis.a.k.frames;for(var b=3D=0A= a.length,c=3D0;c=3Da;){var = c=3DQc.shift().Lb;Ya(c)}Rc=3Dwindow.setTimeout(Tc,1E3)},Tc=3Dfunction(){S= c()};X.prototype.N=3D3;X.prototype.r=3Dfunction(){this.send("tp","SETUP")= };X.prototype.Ka=3Dfunction(a){if(a=3D=3D"SETUP"){this.send("tp","SETUP_A= CK");U(this.a)}else a=3D=3D"SETUP_ACK"&&U(this.a)};=0A= X.prototype.send=3Dfunction(a,b){if(C){var = c=3Ddocument.createElement("div");c.innerHTML=3D'';c=3Dc.childNodes[0];c.ac=3DUc}else= {c=3Ddocument.createElement("iframe");D?Qc.push({timestamp:ha(),Lb:c}):Mb= (c,"load",Uc)}var = d=3Dc.style;d.visibility=3D"hidden";d.width=3Dc.style.height=3D"0px";d.po= sition=3D"absolute";d=3Dthis.Pb;d+=3D"#"+this.a.name;if(this.nb)d+=3D","+= this.nb;d+=3D"|"+a+":"+encodeURIComponent(b);c.src=3Dd;document.body.appe= ndChild(c)};var Uc=3Dfunction(){Ya(this);this.ac=3Dl};=0A= window.xpcRelay=3Dfunction(a,b){var = c=3Db.indexOf(":"),d=3Db.substring(0,c);c=3Db.substring(c+1);V(S[a],d,dec= odeURIComponent(c))};X.prototype.e=3Dfunction(){X.G.e.call(this);D&&Sc(0)= };var = Y=3Dfunction(a,b){this.a=3Da;this.na=3Db||"*"};z(Y,T);Y.prototype.L=3Dn;Y= .prototype.N=3D1;var Vc=3D0,Wc=3Dfunction(a){var = b=3Da.va.data,c=3Db.indexOf("|"),d=3Db.indexOf(":");if(c=3D=3D-1||d=3D=3D= -1)return = n;a=3Db.substring(0,c);c=3Db.substring(c+1,d);b=3Db.substring(d+1);if(d=3D= S[a]){V(d,c,b);return j}for(var e in = S){d=3DS[e];if(yc(d)=3D=3D1&&d.h!=3D2&&c=3D=3D"tp"&&b=3D=3D"SETUP"){d.nam= e=3Da;delete S[e];S[a]=3Dd;V(d,c,b);return j}}return = n};q=3DY.prototype;q.Ka=3Dfunction(a){switch(a){case = "SETUP":this.send("tp","SETUP_ACK");break;case "SETUP_ACK":U(this.a)}};=0A= q.r=3Dfunction(){if(Vc=3D=3D0)Mb(window.postMessage?window:document,"mess= age",Wc,n,Y);Vc++;this.L=3Dj;this.ta()};q.ta=3Dfunction(){if(!(this.a.h=3D= =3D2||this.ha)){this.send("tp","SETUP");window.setTimeout(x(this.ta,this)= ,100)}};q.send=3Dfunction(a,b){var c=3Dthis.a.k;if(c){var = d=3Dc.postMessage?c:c.document;this.send=3Dfunction(e,f){d.postMessage(th= is.a.name+"|"+e+":"+f,this.na)};this.send(a,b)}};q.e=3Dfunction(){Y.G.e.c= all(this);if(this.L){Vc--;if(Vc=3D=3D0)Ob(window.postMessage?window:docum= ent,"message",Wc,n,Y)}};var = Xc=3Dfunction(a){this.a=3Da;this.Ta=3Da.at||"";this.qb=3Da.rat||"";if(!wi= ndow.nix_setup_complete){a=3D"Class GCXPC____NIXVBS_wrapper\n Private = m_Transport\nPrivate m_Auth\nPublic Sub SetTransport(transport)\nIf = isEmpty(m_Transport) Then\nSet m_Transport =3D transport\nEnd If\nEnd = Sub\nPublic Sub SetAuth(auth)\nIf isEmpty(m_Auth) Then\nm_Auth =3D = auth\nEnd If\nEnd Sub\nPublic Function GetAuthToken()\n GetAuthToken =3D = m_Auth\nEnd Function\nPublic Sub SendMessage(service, payload)\n Call = m_Transport.GCXPC____NIXJS_handle_message(service, payload)\nEnd = Sub\nPublic Sub CreateChannel(channel)\n Call = m_Transport.GCXPC____NIXJS_create_channel(channel)\nEnd Sub\nPublic Sub = GCXPC____NIXVBS_container()\n End Sub\nEnd Class\n Function = GCXPC____NIXVBS_get_wrapper(transport, auth)\nDim wrap\nSet wrap =3D New = GCXPC____NIXVBS_wrapper\nwrap.SetTransport transport\nwrap.SetAuth = auth\nSet GCXPC____NIXVBS_get_wrapper =3D wrap\nEnd Function";=0A= try{window.execScript(a,"vbscript");window.nix_setup_complete=3Dj}catch(b= ){}}this.GCXPC____NIXJS_handle_message=3Dthis.S;this.GCXPC____NIXJS_creat= e_channel=3Dthis.Ab};z(Xc,T);q=3DXc.prototype;q.N=3D6;q.U=3Dn;q.M=3Dl;q.r= =3Dfunction(){yc(this.a)=3D=3D0?this.Qa():this.Pa()};q.Qa=3Dfunction(){if= (!this.U){var = a=3Dthis.a.T;try{a.contentWindow.opener=3Dwindow.GCXPC____NIXVBS_get_wrap= per(this,this.Ta);this.U=3Dj}catch(b){}this.U||window.setTimeout(x(this.Q= a,this),100)}};=0A= q.Pa=3Dfunction(){if(!this.U){try{var = a=3Dwindow.opener;if(a&&"GCXPC____NIXVBS_container"in a){this.M=3Da;var = b=3Dthis.M.GetAuthToken();if(b!=3Dthis.qb)return;this.M.CreateChannel(win= dow.GCXPC____NIXVBS_get_wrapper(this,this.Ta));this.U=3Dj;U(this.a)}}catc= h(c){return}this.U||window.setTimeout(x(this.Pa,this),100)}};q.Ab=3Dfunct= ion(a){this.M=3Da;a=3Dthis.M.GetAuthToken();a=3D=3Dthis.qb&&U(this.a)};q.= S=3Dfunction(a,b){function = c(){V(this.a,a,b)}window.setTimeout(x(c,this),1)};q.send=3Dfunction(a,b){= this.M.SendMessage(a,b)};=0A= q.e=3Dfunction(){Xc.G.e.call(this);this.M=3Dl};var = Z=3Dfunction(a){this.f=3Da;this.name=3Dthis.f.cn||wc(10);this.pa=3D{};S[t= his.name]=3Dthis;Mb(window,"unload",Yc)};z(Z,J);q=3DZ.prototype;q.d=3Dl;q= .h=3D1;q.k=3Dl;q.T=3Dl;q.Db=3Dn;q.zb=3Dn;=0A= q.r=3Dfunction(a){this.yb=3Da||u;if(this.Db)this.zb=3Dj;else{if(this.f.if= rid)this.T=3Dw(this.f.ifrid)?document.getElementById(this.f.ifrid):this.f= .ifrid;if(this.T){(a=3Dthis.T.contentWindow)||(a=3Dwindow.frames[this.f.i= frid]);this.k=3Da}if(!this.k)if(window=3D=3Dtop)h(Error("CrossPageChannel= : Can't connect, peer window-object not set."));else = this.k=3Dwindow.parent;if(!this.d){if(!this.f.tp){a=3Dthis.f;var = b;if(ca(document.postMessage)||ca(window.postMessage)||C&&window.postMess= age)b=3D1;else if(Da)b=3D2;else if(C&&this.f.pru)b=3D=0A= 3;else if(C)b=3D6;else = if(this.f.lpu&&this.f.ppu)b=3D4;b=3Db;a.tp=3Db}switch(this.f.tp){case = 1:this.d=3Dnew Y(this,this.f.ph);break;case 6:this.d=3Dnew = Xc(this);break;case 2:this.d=3Dnew xc(this);break;case 3:this.d=3Dnew = X(this);break;case 4:this.d=3Dnew = W(this)}if(!this.d)h(Error("CrossPageChannel: No suitable transport = found!"))}this.d.r()}};q.close=3Dfunction(){if(this.h=3D=3D2){this.h=3D3;= this.d.D();this.d=3Dl}};var = U=3Dfunction(a){if(a.h!=3D2){a.h=3D2;a.yb()}};=0A= Z.prototype.send=3Dfunction(a,b){if(this.h=3D=3D2)if(this.k.closed)this.c= lose();else{if(da(b)){var c=3Dnew = Ub,d=3D[];Wb(c,b,d);b=3Dd.join("")}this.d.send(a,b)}};=0A= var V=3Dfunction(a,b,c){if(!a.ha)if(!b||b=3D=3D"tp")a.d.Ka(c);else = if(a.h=3D=3D2)if(b=3Da.pa[b]){if(b.hb)try{a:{var = d=3DString(c),e;if(/^\s*$/.test(d))e=3Dn;else{a=3D/\\["\\\/bfnrtu]/g;var = f=3D/"[^"\\\n\r\u2028\u2029\x00-\x08\x10-\x1f\x80-\x9f]*"|true|false|null= |-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,g=3D/(?:^|:|,)(?:[\s\u2028\u2029]*\[= )+/g,i=3D/^[\],:{}\s\u2028\u2029]*$/;e=3Di.test(d.replace(a,"@").replace(= f,"]").replace(g,""))}if(e)try{c=3Deval("("+d+")");break = a}catch(m){}h(Error("Invalid JSON string: = "+d))}}catch(k){return}b.sa(c)}else a.Cb&&=0A= a.Cb.sa(c)},yc=3Dfunction(a){return = window.parent=3D=3Da.k?1:0};Z.prototype.e=3Dfunction(){Z.G.e.call(this);t= his.close();this.T=3Dthis.k=3Dl;delete this.pa;delete S[this.name]};var = Yc=3Dfunction(){for(var a in S){var b=3DS[a];b&&b.D()}};var = Zc=3Dfunction(a,b){this.F=3Da;this.wb=3Db;var c,d=3DF.URL;c=3Da.tb;d = instanceof N||(d=3Dd instanceof N?d.q():new N(d,void 0));c instanceof = N||(c=3Dc instanceof N?c.q():new N(c,void 0));var = e=3Dd;c=3Dc;d=3De.q();var f=3D!!c.o;if(f)fc(d,c.o);else = f=3D!!c.O;if(f)gc(d,c.O);else f=3D!!c.s;if(f)hc(d,c.s);else = f=3Dc.v!=3Dl;var g=3Dc.n;if(f)ic(d,c.v);else = if(f=3D!!c.n){if(g.charAt(0)!=3D"/")if(e.s&&!e.n)g=3D"/"+g;else{e=3Dd.n.l= astIndexOf("/");if(e!=3D-1)g=3Dd.n.substr(0,e+1)+g}if(g=3D=3D".."||g=3D=3D= ".")g=3D"";else if(!(g.indexOf("./")=3D=3D-1&&g.indexOf("/.")=3D=3D=0A= -1)){e=3Dg.lastIndexOf("/",0)=3D=3D0;g=3Dg.split("/");for(var = i=3D[],m=3D0;m1||i.length=3D=3D1&&i[0]!=3D"")i.pop();e&&m=3D= =3Dg.length&&i.push("")}else{i.push(k);e=3Dj}}g=3Di.join("/")}}if(f)jc(d,= g);else = f=3Dc.i.toString()!=3D=3D"";if(f){e=3Dd;g=3Dc.i;if(!g.Q)g.Q=3Dqc(g.toStri= ng());g=3Dg=3Dg.Q;kc(e,g,void 0)}else = f=3D!!c.I;f&&lc(d,c.I);c=3Dd;d=3Dc.o+"://"+c.s;if(c.v!=3Dl)d+=3D":"+c.v;t= his.na=3Dc=3Dd;c=3Dthis.F;d=3D{};d.ifrid=3Dc.Na;d.pu=3Dc.tb;d.ph=3Dthis.n= a;d.cn=3Dthis.wb;d.ppu=3D=0A= eb(this.na);d.lpu=3Deb();c=3Dd;this.a=3Dnew = Z(c);c=3D"expandable_ad";d=3Dx(this.S,this);this.a.pa[c]=3D{name:c,sa:d,h= b:n};this.Za();window.setTimeout(x(this.ya,this),3E4)};Zc.prototype.Za=3D= function(){if(this.a)try{this.a.r()}catch(a){window.setTimeout(x(this.Za,= this),10)}};Zc.prototype.ya=3Dfunction(){if(this.a&&this.a.h!=3D2){this.a= .d.r=3Dfunction(){};if(this.a.d.N=3D=3D1)this.a.d.ta=3Dfunction(){};if(th= is.a.d.N=3D=3D4)this.a.d.cc=3Dfunction(){};this.a.d.D();this.a.D()}};=0A= Zc.prototype.S=3Dfunction(a){var = b=3Da.split("_");a=3Db[0];if(a=3D=3D"expand"){if(!this.F.la()){for(var = c=3Da=3D0,d=3D0;dd;g=3Di.height-(f.y+b.l);d=3Dm||g>=3Dd;m=3Df.= x;e=3De>m;b=3Di.width-(f.x+b.m);b=3De||b>=3Dm;e=3D2;if(d&&!b)e=3D3;else = if(!d&&b)e=3D1;else = if(!d&&!b)e=3D0;b=3De;this.F.expand(a,c,b);this.a.send("expandable_ad",=0A= "ok_expand_w"+a+"_h"+c+"_d"+b)}}else = if(a=3D=3D"collapse")if(this.F.la()){this.F.collapse();this.a.send("expan= dable_ad","ok_collapse_w"+this.F.xa()+"_h"+this.F.wa())}};var = ad=3Dfunction(a){var = b=3Da.google_frame_id;b||(b=3D"google_frame_"+Math.floor(Math.random()*21= 47483647));var = c=3Da.google_ad_url,d=3DparseInt(a.google_ad_width,10),e=3DparseInt(a.goo= gle_ad_height,10),f=3Da.google_container_id;c=3D$c(b,c,d,e,f);return = a[b]=3Dc};t("ExpandableAdSlotFactory.createIframeFromWindow",ad,void 0);=0A= var $c=3Dfunction(a,b,c,d,e,f,g){if(!a||!b||c<=3D0||d<=3D0)return l;var = i=3Dwc(10),m=3Dfb(F.URL);b=3Dbd(b,i,m);m=3Da;var k=3D"";if(g)m=3Dk;else{var = p=3D"border:none;height:"+d+"px;margin:0;padding:0;position:relative;visi= bility:visible;width:"+c+"px";m=3D['','',k,""];m=3Dm.join("")}m=3Dm=3D= m;if(e=3De?F.getElementById(e):l)e.innerHTML=3Dm;else F.write(m);a=3Dnew = G(a,b,c,d,f,g);return new = Zc(a,i,l)};t("ExpandableAdSlotFactory.createIframe",$c,void 0);function = bd(a,b,c){return = a+(a.indexOf("?")=3D=3D-1?"?":"&")+(c?"google_debug&":"")+"xpc=3D"+b+"&p=3D= "+escape(F.location.protocol+"//"+F.location.host)}=0A= var cd=3Dfunction(a,b,c,d){if(!a||!b||c<=3D0||d<=3D0)return l;var = e=3Dwc(10),f=3Dfb(F.URL);b=3Dbd(b,e,f);f=3Da;var = g=3Db,i=3Dc,m=3Dd,k=3Ddocument.createElement("iframe");k.style.cssText=3D= "border:none;height:"+m+"px;margin:0;padding:0;position:relative;visibili= ty:visible;width:"+i+"px";k.name=3D"google_ads_frame";k.id=3Df;k.src=3Dg;= k.style.cssText=3D"left:0;position:absolute;top:0";k.width=3Di;k.height=3D= m;k.frameBorder=3D0;k.hspace=3D0;k.vspace=3D0;k.scrolling=3D"no";k.dc=3D0= ;k.ec=3D0;k.bc=3Dj;f=3Dk;b=3Dnew = G(a,b,c,d);window["expandableAdSlot_"+a]=3D=0A= new = Zc(b,e,l);a=3Df;c=3D"border:none;height:"+d+"px;margin:0;padding:0;positi= on:relative;visibility:visible;width:"+c+"px";d=3DF.createElement("ins");= d.style.cssText=3D"display:inline-table;"+c;e=3DF.createElement("ins");e.= style.cssText=3D"display:block;"+c;e.appendChild(a);d.appendChild(e);retu= rn c=3Dd};t("DhtmlExpandableIframeFactory.createElement",cd,void 0);var = dd=3Dfunction(){this.C=3Dthis.j=3Dn;this.Ba=3Dj;this.m=3Dthis.l=3Dthis.ja= =3Dthis.ia=3D0},ed=3Dfunction(a,b){a.j=3Dj;if(!b){a.j=3Dn;return = a.j}if(typeof b.width!=3D"number")a.j=3Dn;if(typeof = b.height!=3D"number")a.j=3Dn;if(typeof = b.expansionCallback!=3D"function")a.j=3Dn;if(typeof = b.collapseCallback!=3D"function")a.j=3Dn;if(a.j){a.ia=3Db.height;a.ja=3Db= .width;a.db=3Db.expansionCallback;a.Xa=3Db.collapseCallback}return = a.j};q=3Ddd.prototype;q.wa=3Dfunction(){return = this.l};q.xa=3Dfunction(){return this.m};q.Hb=3Dfunction(){return = this.ia};q.Ib=3Dfunction(){return this.ja};=0A= q.la=3Dfunction(){return this.C};q.Mb=3Dfunction(){return = this.j};q.Zb=3Dfunction(a){this.Ba=3Da};=0A= var fd=3Dfunction(a){if(!a.j)return n;if(a.C)return n;return = j},gd=3Dfunction(a){if(!a.j)return n;if(!a.C)return n;return = j},hd=3Dfunction(a,b,c,d){a.C=3Dj;if(a.Ba){var = e=3Da,f=3Dc,g=3Dd;if(g=3D=3D0||g=3D=3D3){var = i=3Db-e.m;if(i>0)F.body.style.marginLeft=3Di+"px"}if(g=3D=3D0||g=3D=3D1){= e=3Df-e.l;if(e>0)F.body.style.marginTop=3De+"px"}}typeof = a.db=3D=3D"function"&&a.db(b,c,d)},id=3Dfunction(a,b,c){a.C=3Dn;if(a.Ba){= F.body.style.marginLeft=3D"0";F.body.style.marginTop=3D"0"}typeof = a.Xa=3D=3D"function"&&a.Xa(b,c)},jd=3Dfunction(a){t("CreativeToolset",a,v= oid 0);=0A= t("CreativeToolset.prototype.collapseWindow",a.prototype.Ya,void = 0);t("CreativeToolset.prototype.enableExpansion",a.prototype.bb,void = 0);t("CreativeToolset.prototype.expandWindow",a.prototype.cb,void = 0);t("CreativeToolset.prototype.getCollapsedHeight",a.prototype.wa,void = 0);t("CreativeToolset.prototype.getCollapsedWidth",a.prototype.xa,void = 0);t("CreativeToolset.prototype.getExpandedHeight",a.prototype.Hb,void = 0);t("CreativeToolset.prototype.getExpandedWidth",a.prototype.Ib,void = 0);t("CreativeToolset.prototype.isExpanded",=0A= a.prototype.la,void = 0);t("CreativeToolset.prototype.isExpansionEnabled",a.prototype.Mb,void = 0);t("CreativeToolset.prototype.shouldMaintainCoordinates",a.prototype.Zb= ,void 0)};var = kd=3Dfunction(){dd.call(this)};z(kd,dd);q=3Dkd.prototype;q.bb=3Dfunction(= a){return ed(this,a)&&this.Aa()?j:n};q.Aa=3Dfunction(){var = a=3DWa(db||window);this.m=3Da.width;this.l=3Da.height;if(typeof = iframer.expand=3D=3D"function"&&typeof = iframer.collapse=3D=3D"function"){this.Gb=3Diframer.expand;this.xb=3Difra= mer.collapse;return j}return n};q.cb=3Dfunction(a,b){if(fd(this)){var = c=3Dthis.ja,d=3Dthis.ia;if(a&&b){c=3Da;d=3Db}this.Gb({width:c,height:d},x= (this.Kb,this))}};q.Ya=3Dfunction(){gd(this)&&this.xb({},x(this.Jb,this))= };=0A= q.Kb=3Dfunction(a){hd(this,a.width,a.height,a.direction)};q.Jb=3Dfunction= (){id(this,this.m,this.l)};q.S=3Dfunction(a){a=3Da.split("_");if(a[0]=3D=3D= "ok"){for(var b,c,d,e=3D2;e0&&c>0&&d>=3D0)hd(this,b,c,d);else = a[1]=3D=3D"collapse"&&typeof b=3D=3D"number"&&typeof = c=3D=3D"number"&&b>0&&c>0&&id(this,b,c)}};=0A= window.USE_IFRAMES_API=3D=3D=3Dj&&jd(kd);var = $=3Dfunction(){dd.call(this)};z($,dd);$.prototype.bb=3Dfunction(a){if(ed(= this,a)){this.Aa(F.URL);return j}else return = n};$.prototype.Aa=3Dfunction(a){var = b=3DWa(db||window);this.m=3Db.width;this.l=3Db.height;b=3Da;b=3Dnew = N(b);a=3Db.i.A("xpc");b=3Db.i.A("p");var = c=3D{};c.cn=3Da;c.ph=3Db;c.ppu=3Deb(b);c.lpu=3Deb();a=3Dc;this.a=3Dnew = Z(a);a=3D"expandable_ad";b=3Dx(this.S,this);this.a.pa[a]=3D{name:a,sa:b,h= b:n};ld(this)};var = ld=3Dfunction(a){a.a.r(function(){});window.setTimeout(x(a.ya,a),3E4)};=0A= $.prototype.ya=3Dfunction(){if(this.a&&this.a.h!=3D2)this.a=3Dl};$.protot= ype.cb=3Dfunction(a,b){if(fd(this)){var = c=3Dthis.ja,d=3Dthis.ia;if(a&&b){c=3Da;d=3Db}md(this,"expand_w"+c+"_h"+d)= }};$.prototype.Ya=3Dfunction(){gd(this)&&md(this,"collapse")};var = md=3Dfunction(a,b){a.a&&a.a.h=3D=3D2&&a.a.send("expandable_ad",b)};=0A= $.prototype.S=3Dfunction(a){a=3Da.split("_");if(a[0]=3D=3D"ok"){for(var = b,c,d,e=3D2;e0&&c>0&&d>=3D0)hd(this,b,c,d);else = a[1]=3D=3D"collapse"&&typeof b=3D=3D"number"&&typeof = c=3D=3D"number"&&b>0&&c>0&&id(this,b,c)}};window.USE_IFRAMES_API!=3D=3Dj&= &jd($);fb(document.URL)&&document.write('