Joel Bradshaw
Published © Apache-2.0

Controller Pro

Plug in any combo of up to 4 NES, SNES, or N64 controllers, use them as USB HID joysticks.

Full instructions provided8,810
Controller Pro

Things used in this project

Hardware components

OSH Park Main PCB
×1
OSH Park Side PCB
×2
Teensy 3.2 Pins
×1
Receptacles for Teensy
12-pin 0.100" pitch receptacles (The extra two pins on each side will overhang these headers by design)
×1
0.156" round headers (3-position)
Square headers will not work, they must be round. There are only a couple options I could find here, and none were two-row, so I had to get creative (see nippers below)
×8
0.156" round headers (4-position)
×4
0.1" receptacle (8-position, right-angle)
×4
0.1" headers (8-position)
×4
Pull-down resistor (~30K Ohm, 0805)
×4

Hand tools and fabrication machines

Nippers

Story

Read more

Custom parts and enclosures

Enclosure - side panel

Two copies snap on to surround the center piece

Enclosure - main body

Holds the main board, acts as a central column

Contains optional embedded nuts - you can pause the print at about 5.5mm and insert two 2mm (inner-diameter) nuts that will then be covered up and can be used to secure the board in place.

It will stay in just fine without them, it just adds a little more stability.

Enclosure - socket caps

These snap in inside the ports to provide a wall between the ports and the inside. Not strictly necessary, but tidier.

These should snap into their slots very tightly - it may require some steady force with a blunt object to press them into place. If your printer is not able to print pieces that fit into each other, you may need to scale this down slightly.

Assembly jig

Used to help hold the various parts in place while constructing the board

Schematics

KiCad Github

Code

Teensy 3.2 HEX file

Plain text
Because this project requires extesions to the core Teensyduino libraries, it can be a bit annoying to compile. This is a compiled firmware for the Teensy 3.2 that should be directly uploadable via the Teensy programmer, without using Arduino at all.
:1000000000800020BD010000051A0000C919000091
:10001000C9190000C9190000C9190000C919000058
:10002000C9190000C9190000C9190000051A00000B
:10003000051A0000C91900000D2C0000FD2C00005D
:10004000051A0000051A0000051A0000051A000034
:10005000051A0000051A0000051A0000051A000024
:10006000051A0000051A0000051A0000051A000014
:10007000051A0000051A0000051A0000051A000004
:10008000051A0000051A0000051A0000051A0000F4
:10009000051A0000051A0000051A0000051A0000E4
:1000A000051A0000051A0000051A0000051A0000D4
:1000B000051A0000051A0000051A0000051A0000C4
:1000C000051A0000051A0000051A0000051A0000B4
:1000D000051A0000051A0000051A0000051A0000A4
:1000E000051A0000051A0000051A0000051A000094
:1000F000051A0000751C0000051A0000051A000012
:10010000051A0000051A0000051A0000051A000073
:10011000051A0000051A0000051A0000051A000063
:10012000051A0000051A0000051A0000051A000053
:10013000051A0000051A0000051A000095190000B4
:10014000051A0000051A0000051A0000051A000033
:10015000051A0000051A0000051A0000051A000023
:10016000051A00007D1F0000051A0000051A000096
:10017000051A0000051A0000051A0000051A000003
:10018000051A0000051A0000051A0000051A0000F3
:10019000051A0000051A0000051A0000051A0000E3
:1001A000051A0000051A0000051A0000051A0000D3
:1001B000051A0000051A0000051A0000574B4CF202
:1001C000205210B51A804DF628121A8000BF00BFC9
:1001D00001F01CFC524B4FF010621A60514A9A60B9
:1001E000514ADA60A3F53043203B1A6812F480725A
:1001F00004D14E490A604FF4A8521A604C4B1A7849
:10020000110703D51A7842F008021A70494B4A4C7C
:100210004A482A221A704A4A00239918A14203D256
:10022000195899500433F8E7464B474900228B424E
:1002300002D243F8042BFAE74448454900235A58B0
:100240001A500433B3F5DE7FF9D1424B424A802184
:1002500003F8011B9342FBD1404B3C4A1A60404BD0
:100260008A221A70A3F5805324225A70A0221A7091
:100270009A799207FCD59A79D406FCD4394A9379B5
:1002800003F00C03082B374BF9D105221A714322D6
:100290005A719A799006FCD5324A9179314B4906C8
:1002A000FBD5314A4FF08171116005215160202248
:1002B0001A709A7902F00C020C2AFAD12B4B2C4AB4
:1002C0001A602C4B2C4A1A6000225A60072243F80D
:1002D000042C2A4AC3F80C2D62B601F06DFC134BB6
:1002E0001B68DA0705D5264801F0B8FB254B264ADE
:1002F0001A60264B1B785B0609D5224C224A2368DC
:10030000934204D11E4801F0A9FB0023236002F0B0
:10031000F5FD01F081FB01F04FFBFEE70E200540EB
:1003200030800440823F04000100002B14D00340C1
:1003300002D0074000E007401C96FF1FFC3D000074
:10034000708CFF1F1C96FF1FD898FF1F0082FF1F95
:100350000000000000E400E05FE400E008ED00E0E1
:1003600000500640004006404480044004800440A1
:10037000C010050014E000E03F190100000020203B
:1003800049ADB35D1CE00340A5C3945A00F007409B
:10039000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D
:1003A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D
:1003B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D
:1003C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D
:1003D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D
:1003E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D
:1003F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D
:10040000FFFFFFFFFFFFFFFFFFFFFFFFDEF9FFFF23
:1004100010B5054C237833B9044B13B10448AFF33E
:1004200000800123237010BD1C96FF1F00000000F8
:10043000FC3D000008B5064B1BB106480649AFF36A
:1004400000800648036813B1054B03B1984708BD07
:1004500000000000FC3D00002096FF1F1C96FF1FBF
:10046000000000002DE9F04F83B005468B460024C4
:100470002F4FDFF8D0A03846214601F093F915F050
:10048000010F4ED014F80A804046002101F01AFBFB
:10049000284B185D002101F015FB274BE65C304628
:1004A000002101F00FFB254B185D002101F00AFB34
:1004B000404601F06FFC8046304601F06BFC8146FF
:1004C0003046012101F0FEFA3046012101F0D6FA52
:1004D00029EAE9791FFA89F628EAE8781FFA88F804
:1004E00008EB48039E4206DDDBF8000003685B680A
:1004F000214698470BE006EB46039845CCBFDBF856
:100500000800DBF8040003685B6821469847009602
:1005100003200B492246434601F03CF9012001F03B
:1005200035FB6D080134042CA5D103B0BDE8F08F74
:10053000EC380000E8380000FC390000003A000008
:10054000FC380000F83900002DE9F8430D200121A6
:1005500001F0B8FA0D20012101F090FA09200021E4
:1005600001F0B0FA0A20002101F0ACFA254C6368D2
:100570001D79254B1878C043C0B22146FFF772FFA2
:1005800063681E7926EA05060D20002101F076FA3F
:10059000251F04F108072C4654F8040F03689B68D4
:1005A0009847BC42F8D10A20012101F08BFA0920BA
:1005B000012101F087FA0124DFF850800327DFF8DA
:1005C000449000E0013455F8043F3846414603F1B9
:1005D0000C021B7901F0DEF8022C0FD1D9F80400CF
:1005E0000368DB6831469847D9F8043038464146FD
:1005F00003F10C021B7901F0CDF8E3E7022CE1DDF9
:10060000BDE8F8833C96FF1F4C96FF1F143900008D
:100610002DE9F8430D20012101F054FA0D200121AC
:1006200001F02CFA0024254B1C704FF00109244BDB
:1006300083F800900422234B1A70234801F0B2F88B
:100640000D20214601F01AFA3C2001F003FA06467B
:10065000DFF89C801D4F41463A461D4B01F008F8DB
:100660001C4B33600223B3751B4DAE602C2001F090
:10067000F1F9064641463A46184B00F0F9FF184B8F
:10068000336086F816906E602C2001F0E3F9064680
:1006900041463A46134B00F0EBFF134B3360B47501
:1006A0002E60124801F07EF80D20214601F0E6F997
:1006B000204601F069F8BDE8F88300BF5598FF1F98
:1006C0005698FF1F3896FF1F283900004C96FF1FD1
:1006D00040390000103A00003C96FF1F44390000EA
:1006E000D03A00004C390000983A00005039000020
:1006F0005096FF1F2DE9F04F8BB0A74B1A68A74B00
:100700001B689A420ADB012001F03EF801F052F822
:100710000022A14B1A60FFF717FF0AE0002001F04A
:1007200033F89F4B186801F031FA9B4B1A6801327D
:100730001A609C4C9C4D20462978082201F03CF818
:100740009A482978224601F02DF8994B1B680593A9
:100750000599984801F026F80920012101F0B2F925
:100760000A20012101F0AEF9934B1C1F03F1080987
:100770008C4E4FF00808914F606803681B699847DA
:10078000636830461979424601F016F854F8043F80
:10079000384603F10C011A79334601F003F84C4551
:1007A000EAD10920002101F08DF90A20002101F091
:1007B00089F900252C46DFF82492DFF824B202954F
:1007C00079490B78234113F0010F00F069817C4ACD
:1007D000137802998B4203DDCDB20022039208E028
:1007E0000299B1EB430F80F25B81CB1ADDB201229B
:1007F0000392029BC3EBC300724B03EB4000027BEE
:1008000006A9714B03EB021201F00AF805206F49AB
:100810002A46039B00F0BEFF05206D499DF822206B
:100820009DF8233000F0B6FFBDF91820BDF91A304D
:10083000BDF91C1000910520664900F0ABFF89F856
:10084000005003990D01EDB205F10806F6B201273B
:10085000B846DFF884A19DF822300D2D14D81F4230
:1008600099F800304FF0010101FA05F13AF8332010
:1008700014BF0A438A432AF833209BF800301BB97F
:1008800099F8000002F0BCF89DF823300D2E14D822
:100890001F4299F800304FF0010101FA06F13AF8D1
:1008A000332014BF0A438A432AF833209BF80030D0
:1008B0001BB999F8000002F0A3F87F00FFB208F11D
:1008C00001080135EDB20136F6B2B8F1090FC2D117
:1008D000039A56000136F6B200253F4F032D09DC7E
:1008E00006AB33F91530002BB8BF3F339B1103F52E
:1008F000007301E04FF400739BB240F2FF32934269
:1009000038BF1A467319DBB2013B032B7FD8DFE8EF
:1009100003F002172E6940F2FF339A4228BF1A46AD
:1009200099F8000007EBC00192088B7843EA022394
:100930004B809BF80030002B70D102F061F866E02C
:1009400040F2FF339A4228BF1A4699F8000007EB9D
:10095000C001B1F804E02EF0FF0E4EEA92028A8048
:100960009BF80030002B59D102F04AF84FE040F2DA
:10097000FF339A4228BF1A4699F8000007EBC001DE
:1009800092080B7943EA02238B809BF80030002BFE
:1009900044D102F035F83AE04896FF1FA08CFF1FC3
:1009A000A48CFF1FC496FF1F4C96FF1F64390000E4
:1009B000D496FF1F7C3900003C96FF1F9839000039
:1009C0003896FF1F5096FF1F708CFF1FAC39000038
:1009D000CC390000E8390000B498FF1F5598FF1F7C
:1009E0005698FF1F40F2FF339A4228BF1A4699F8E3
:1009F000000007EBC001B1F804E02EF0FF0E4EEA54
:100A00009202CA809BF8003043B901F0F9FF9BF8CD
:100A100000301BB999F8000001F0F2FF0135042DF8
:100A20007FF45CAFBDF92030002B14DB162B14DDF6
:100A3000432B14DD702B14DD9D2B14DDCA2B14DD2C
:100A4000F42B14DDB3F5927F13DDB3F5A97FB4BFAA
:100A5000072200220EE00F220CE000220AE0012211
:100A600008E0022206E0032204E0042202E005225C
:100A700000E0062299F80000424B03EBC0035988BE
:100A800021F00F010A435A809BF800300BB901F0A6
:100A9000B7FF99F8000001F0B3FF029A0132029209
:100AA0000134042C7FF48CAE029C374B1B789C42A3
:100AB00061DA364E364FDFF8CC80DFF8CC903470F8
:100AC0000125EBB2013B032B3AD8DFE803F002101B
:100AD0001E2C307808EBC00293786FEA43436FEA2C
:100AE000534353803B7883BB01F08AFF28E0307882
:100AF00008EBC0039A8822F0FF0242F080029A803D
:100B00003B7813BB01F07CFF1AE0307808EBC002A1
:100B100013796FEA43436FEA534393803B78A3B959
:100B200001F06EFF0CE0307808EBC0039A8822F0E9
:100B3000FF0242F08002DA803B7833B901F060FFB7
:100B40003B7813B9307801F05BFF0135062DB8D141
:100B5000307808EBC0035A8842F00F025A803B7885
:100B60000BB901F04DFF307801F04AFF013499F8DC
:100B70000030A342A3DC074B186801F007F80BB064
:100B8000BDE8F08FB498FF1F3896FF1F5598FF1FE0
:100B90005698FF1FA48CFF1F704700BF704700BF0F
:100BA0002DE9F04F83B006461C300021202202F0D0
:100BB00071FC0025DFF830B2814CDFF83082DFF8BD
:100BC00030A233792B4113F0010F00F0E78000F0E1
:100BD000B7FD15F80B0084F8380001212170A462DC
:100BE000202384F82F3000F06DFF072388F80030B1
:100BF000744A4FF6FF731380734B18680021196015
:100C00001788CAF8007098F8007047F0280700F0BD
:100C100040003843186088F80010122010801868CF
:100C200019601288CAF8002098F8001041F02801D5
:100C300000F040020A431A606449654A11601A686C
:100C400042F040021A604FF00043624A136094F889
:100C5000303013F0FF0FFAD072B694F82F30002B1B
:100C60003BD00021012208465B4F2EE09EF8002277
:100C7000D2B20133012A04D1C82BF7D14FF00109B8
:100C800033E0C82B2CD08AB9C72B11DC94F838304C
:100C900057F833C086469CF800320EF1010E5FFA19
:100CA0008EFE03F0FF02002BF5D002E0864600E046
:100CB0008646636A83F800E0636A01336362013148
:100CC000C9B294F82F308B420DD9012A70D194F813
:100CD000383057F833E00346C8E70021894604E07E
:100CE0004FF0010901E04FF0000962B6B9F1000FC1
:100CF00003D03A4800F056FD02E0394800F052FDBA
:100D000094F82F30ABB1013B5FFA83FE0EF1010E78
:100D100000231846FF27E25C02F0FF012AB181425E
:100D200028BF0846B94238BF0F4601337345F2D198
:100D300001E00020FF274208BA4228BF3A461718B0
:100D4000C7F347072178009026483B4600F02AFD6C
:100D500094F82F1079B10023E25C12F0FF0F06D057
:100D6000E25CD2B2BA422CBF00220122E25401332B
:100D7000DAB28A42F0D3B9F1000F0CD106F11C02AD
:100D80000023E15CC9B21078A940014302F8011BBD
:100D90000133202BF5D1012000F0F8FE0135042DA0
:100DA0007FF40FAF33685B693046B169984704E060
:100DB0008646002A7FF47DAF68E703B0BDE8F08F78
:100DC0008896FF1FD296FF1F00900340F50D00008C
:100DD000AC8CFF1F04E100E0F03B0000303A000063
:100DE000443A0000583A00008C3A0000D096FF1FA9
:100DF0000890034010B5424B93F82D30DBB2032B23
:100E00007CD8DFE803F002124B6F3D4B93F83810AB
:100E10003C4A52F83120012182F8001193F82D202C
:100E20000A44D2B283F82D2010BD354B5A6A9B6A12
:100E30009A421AD9324C94F83820324B53F8322067
:100E4000012382F88030304A116821F0400111609E
:100E50004FF000412D4A116084F8303094F838008A
:100E6000022100F02FFE646210BD254B93F838205C
:100E700093F82E3013F0FF0F224B53F832304FF01F
:100E8000010214BF83F8802083F800211C4B93F8E3
:100E90002D200132D2B283F82D2010BD184B93F8CB
:100EA0002C20520883F82C2093F82C3013F0FF0FDD
:100EB00006D1134B802283F82C205A6A01325A62E1
:100EC0000F4B012283F82E205A6A127893F82C10C7
:100ED0000A4083F82E2093F82D200132D2B283F8F5
:100EE0002D2010BD064B93F83810064A52F83120D9
:100EF000012182F88010002283F82D2010BD00BF50
:100F00008896FF1FF03B00000090034084E100E062
:100F1000542910DC6FF054039942B8BF194601EB15
:100F2000410301EBC31347F6FF7247F6FE7083429D
:100F3000C8BF134601E047F6D573034A9342ACBFDE
:100F40001846104600B270470080FFFF2DE9F04FB1
:100F500085B003908846084600F002FD039C0027F8
:100F6000B9463D46DFF888B04FF0800A2646217F1B
:100F700094F8242094F82C3094F8340000905846CB
:100F800000F010FC4AFA05F3DBB2227F22B198F898
:100F90000A201A4388F80A2096F8242022B198F8EB
:100FA0000B201A4388F80B2096F82C20002A14BF37
:100FB0001A46002249EA020996F83420002A08BF9E
:100FC00000231F4301350134082DCFD103984FFA78
:100FD00089F1FFF79DFFA8F80000039879B2FFF7A9
:100FE00097FF4042A8F8020005B0BDE8F08F00BFAF
:100FF000783A000010B5044600F0E2FA23681B6955
:101000002046984710BD00BF704700BF2DE9F84348
:1010100005460024DFF84090DFF840800D4F2B7923
:10102000234113F0010F0FD019F80400002100F044
:1010300049FD14F808603046012100F043FD57F8DF
:101040003630012283F800210134042CE7D1BDE8B9
:10105000F88300BFF03B0000B83A0000BC3A000043
:1010600030B4374B93F82D30DBB2062B5FD8DFE876
:1010700003F0040B5E225E2641001022314B1A6001
:10108000082204331A6052E0002301222E4C2C481F
:10109000416BC95C54F8311091F8001211F0FF0F48
:1010A00004D0416A0D781543EDB20D705200013342
:1010B000042BEDD13BE01022244B1A6037E0204B8B
:1010C0005A6A9B6A9A420DD302221D4B83F8302044
:1010D0001F4B1A6822F040021A604FF000421D4B6D
:1010E0001A6024E00822174B1A60154B5A6A013225
:1010F0005A621CE000230122134C1148416BC95C69
:1011000054F8311091F8001211F0FF0F04D0416A29
:101110000D781543EDB20D7052000133042BEDD163
:1011200008220A4B1A600422054B83F82D20044B39
:1011300093F82D200132D2B283F82D2030BC7047B5
:101140008896FF1F84F00F40F03B000088F00F40AE
:101150000090034084E100E02DE9F04704460F468B
:101160009146084600F0FCFB00250E4E4FF00808A3
:101170004FF0800A3046217F424600F01DFB30468A
:1011800000F010FB237F19EA030F04D04AFA05F39D
:10119000BA7A1343BB7201350134082DEAD1BDE898
:1011A000F08700BFC496FF1FF8B5044600F0C8FAE8
:1011B000234B012283F83020224A5A6303F10802AC
:1011C0009A62214A0723137020494FF6FF730B8060
:1011D0001F4B1E68002018600F881E4D2F60177867
:1011E00047F0280706F040063E431E6010706C264C
:1011F0000E801E68186009882960117841F0280166
:1012000006F040020A431A601349144A11601A6832
:1012100042F040021A604FF00042114B1A60084A37
:1012200092F83030DBB2012BFAD000230448C15CC5
:10123000E218C94311770133082BF8D1F8BD00BF7C
:101240008896FF1FB83A0000D096FF1FD296FF1F66
:10125000009003400890034061100000AC8CFF1F19
:1012600004E100E010B50446FFF79EFF23685B69C8
:101270002046A169984710BD08B500F0A1F908BD46
:101280002DE9F84305460024DFF83890A0460C4FBE
:101290002B79234113F0010F0DD019F804004146BA
:1012A00000F010FCE65D3046012100F00BFC3046FA
:1012B000012100F0E3FB0134042CE9D1BDE8F883FF
:1012C000F03A0000C03A00002DE9F041054688469A
:1012D0000A20012100F0F6FB0A20012100F0CEFBDC
:1012E000012000F053FC0024184F26462B7923419F
:1012F00013F0010F03D0385D314600F0E3FB0134F9
:10130000042CF3D128464146012200F0E3F9C04302
:10131000C2B22B7913402B71AB6819780A401A704E
:1013200000240A4F26462B79234113F0010F03D0E6
:10133000385D314600F0C6FB0134042CF3D10A209D
:10134000002100F0BFFBBDE8F08100BFC03A000003
:1013500030B4374B93F82D30DBB2062B5FD8DFE883
:1013600003F0040B5E225E2641001022314B1A600E
:10137000082204331A6052E0002301222E4C2C482C
:10138000416BC95C54F8311091F8001211F0FF0F55
:1013900004D0416A0D781543EDB20D70520001334F
:1013A000042BEDD13BE01022244B1A6037E0204B98
:1013B0005A6A9B6A9A420DD302221D4B83F8302051
:1013C0001F4B1A6822F040021A604FF000421D4B7A
:1013D0001A6024E00822174B1A60154B5A6A013232
:1013E0005A621CE000230122134C1148416BC95C76
:1013F00054F8311091F8001211F0FF0F04D0416A37
:101400000D781543EDB20D7052000133042BEDD170
:1014100008220A4B1A600422054B83F82D20044B46
:1014200093F82D200132D2B283F82D2030BC7047C2
:101430008896FF1F84F00F40F03B000088F00F40BB
:101440000090034084E100E02DE9F0479AB00446A3
:101450000E4690460025019502A82946602202F01A
:1014600019F8304600F07CFA08274FF0200AA14610
:1014700001A8217F3A4600F09FF98DF80CA00DF1EC
:101480000D0094F824103A4600F096F901A800F0F7
:1014900089F980232B41DAB2237F18EA030F02D0A7
:1014A000B37A1343B37299F8243018EA030F02D0C9
:1014B000F37A1A43F27201350134082DD7D11AB0EC
:1014C000BDE8F087F8B5044600F03AF9234B012255
:1014D00083F83020224A5A6303F110029A62214AAB
:1014E0000723137020494FF6FF730B801F4B1E68B4
:1014F000002018600F881E4D2F60177847F02807CE
:1015000006F040063E431E6010706C260E801E687A
:10151000186009882960117841F0280106F040021E
:101520000A431A601349144A11601A6842F04002D3
:101530001A604FF00042114B1A60084A92F830309E
:10154000DBB2012BFAD000230448C15CE218C94386
:1015500011770133102BF8D1F8BD00BF8896FF1F1B
:10156000C03A0000D096FF1FD296FF1F00900340A4
:101570000890034051130000AC8CFF1F04E100E011
:1015800010B50446FFF79EFF23685B692046A169FA
:10159000984710BD08B500F013F808BD012303FA01
:1015A00001F1C9B203790B43037183681A781143BF
:1015B00019707047807D012894BF0020012070477A
:1015C00038B5044600F10C050748294600F0EAF852
:1015D0000023237123689B682046984703482946C7
:1015E000227900F0DFF838BD203B00003C3B0000D2
:1015F0002DE9F04F83B080468A46047983681D78D0
:101600006CB300270126DFF864B014F0010F1DD081
:10161000DBF8003001930199124808F10C0200F048
:10162000C1F81148294632463B4600F0BBF8C7EBEB
:10163000C7090AEB4909D8F800309B69404649467A
:101640003246984798F8163089F80C3015F0010F9B
:1016500018BF01376D087600F6B26408D5D103B023
:10166000BDE8F08F4C3B0000683B0000D496FF1FA4
:1016700038B504460948206000252571A161A260A3
:1016800004F10C0019460A2201F064FF04482946BF
:101690003C2201F0FFFE204638BD00BF003B0000A9
:1016A0008896FF1F10B50C460368DB69984710B198
:1016B000054B1A5D01E0054B1A5D054B53F83230BE
:1016C00093F8000210BD00BF743B0000F43A000024
:1016D000F03B00002DE9F04F85B001900E460292DC
:1016E0004FF0000AD046D1464FF0010BCDF80CB0B8
:1016F0001DE0354209D00198E1B2FFF7D3FF029B0C
:1017000083421CBF45EA0909039F6D00EDB2013415
:10171000042CEED137B10AF1010ABAF10A0F0ADC42
:10172000D84604E008F10108B8F13F0F03DC0024BB
:101730005D462746DDE7484605B0BDE8F08F00BFAF
:101740001049002281F82D2081F83020802381F873
:101750002C30496201F11F038B62202381F82F3066
:101760000B4643F8042B4A60043343F8042B43F838
:10177000042B43F8042B43F8042B43F8042B1A6082
:10178000704700BF8896FF1F014B1860704700BF6D
:10179000A88CFF1F0EB483B004AB019303B003B059
:1017A000704700BF0FB482B003AB019302B004B026
:1017B000704700BF704700BF70B40646082A06D9BC
:1017C0000F4B03CB306071601B78337216E00D4B0A
:1017D0001B689BB110467AB1531E01249C40E4B2B1
:1017E000002304EA0105002D0CBF30253125F554F6
:1017F000640801339842F4DC0023B35470BC704792
:10180000783B0000A88CFF1F0A684B6802604360A9
:101810004B8943810B8903810B7B0373704700BFA6
:101820002DE9F04F83B007468846164608463946EC
:10183000FFF7EAFF002588F80A5088F80B504FF6AA
:10184000FF73A8F80830DFF810B176E0325D802130
:1018500021417B199B7A194268D0BF2A18DDA2F179
:10186000C0038BFB0301A1EBE37101EB4100181AEC
:10187000DFF8E8E03EF81330A8F8083001380090AF
:101880000139019105202F491BB2FFF783FF4DE07D
:101890007F2A24DDA2F1800909EBD97A4FEA6A0A8E
:1018A000294B19EA030905D509F1FF3969F0010946
:1018B00009F101094FEA490909F1FF39CDF8009012
:1018C000052022495346FFF765FFB9F1000FB4BF69
:1018D0004FF4024347F6FF5328F81A3026E02AB3A4
:1018E000013A9146002AB8BF02F107094FEAE90917
:1018F000174812EA000A05D50AF1FF3A6AF0070A0A
:101900000AF1010ACDF80090CDF804A00520114994
:101910002A462346FFF73EFFC144012202FA0AFA93
:1019200099F80A304AEA030A89F80AA00134082C17
:101930008CD101350836022D01D0002486E703B092
:10194000BDE8F08F983B000001000080B83B00002C
:1019500007000080D43B000056555555843B0000DD
:101960000022034603F8012B4270013303F8012BD8
:1019700003F8012B03F8012B03F8012B03F8012BCB
:101980001A708272C2724FF6FF730381704700BFF4
:10199000704700BF08B5064B1B6813F0800F03D0DB
:1019A00003F07F03024A1360024B1B68984708BD8F
:1019B00000900340AC8CFF1F08B5FEF729FEFEF730
:1019C00099FE01F0BBF8FAE708B50D4C236813F453
:1019D000802F01D000F0D2FA236813F4806F01D079
:1019E00000F048F9236813F4006F01D000F00AF802
:1019F000236813F4805FE9D000F004F8E6E700BF45
:101A00003480044008B5FFF7DFFF00BF1022014B10
:101A10001A80704700200540704700BF08B50B4B87
:101A20001B68024680B169461A44A1F580518A427A
:101A300006D301F05DFA0C2303604FF0FF3008BDC0
:101A400002490A60184608BD184608BDB08CFF1F41
:101A5000FEE700BF08B501F079FA08BD044B00228B
:101A60001A6004490A60044A106010221A60704724
:101A700014D0034004D0034000D0034021281ED8D6
:101A80000F4B53F8303093F8802212F0FF0F08D03C
:101A900019B1012283F880207047012283F80021C8
:101AA0007047074B03EBC000436821B11A6842F04E
:101AB00003021A6070471A6822F002021A60704727
:101AC000F03B000021283AD81D4B03EBC0035B68B4
:101AD000012919D0042925D0194A52F830200020B4
:101AE00082F8800219B94FF480721A607047022997
:101AF00003D140F203121A60704703290CBF4FF460
:101B0000817200221A6070470D4A52F8302001217C
:101B100082F880124FF4A2721A601A6822F0200232
:101B20001A607047064A52F83020012182F880126C
:101B30004FF4A2721A601A6842F020021A607047CD
:101B4000F03B000072B60D4B1B680D4A12680D4940
:101B5000096862B611F0806F02D0322B88BF013263
:101B6000C3F58C3303F23F130749A1FB03031B09A1
:101B70004FF47A7000FB0230704700BF18E000E0BD
:101B8000D496FF1F04ED00E0398EE33838B50546E2
:101B9000FFF7D8FF044625B938BD013D0AD004F54A
:101BA0007A74FFF7CFFF001BB0F57A7FF5D200F013
:101BB000C5FFF6E738BD00BF10B5274B4FF4000254
:101BC0001A604FF080721A604FF000721A604FF086
:101BD00080621A604FF000621A6000201F4B18608C
:101BE00048F6FF710433196028231D4A1360083238
:101BF0001360083213600832136008321360083231
:101C0000136008321360083213600922154C2260F9
:101C100004F58054043420600434216004342360CB
:101C200008342360143C226004F5FE240434206050
:101C30000D4801600D490B6008310B600C4B1A60B8
:101C400001F066F83220FFF7A1FF00F057FE4FF4D5
:101C5000AF70FFF79BFF10BD08E100E00480034078
:101C60000C8003400080034008800B400C800B4038
:101C700000800B4070B43D4B1B7913F0300F33D014
:101C800072B63A4B9B7D03F0FF022BB9374BDA79E2
:101C900040225A7462B627E062B6354B1978C9B251
:101CA000344B1C78E4B2314D334EEB79D8B24B1C37
:101CB000402B28BF0023A3421CBFF0541946531EDB
:101CC00013F0FF02F1D1CAB2294B1A702B4B1B68DB
:101CD00053B1A1422EBFC4EB0101C4F14004091964
:101CE0002729C4BF01221A70204BDA78D2B212F031
:101CF000800F27D01B7913F0800F23D0204B1C7846
:101D0000E4B2204B1B78DBB29C4210D017491E4D29
:101D100001E0A3420BD00133402B28BF00230879F8
:101D2000E85CC0B2C871087DC0B20728F1D9DBB247
:101D300014490B700D4B1B7913F0800F02D07C21DE
:101D40000A4BD97012F0400F0ED0084B1B7913F0DC
:101D5000400F09D000220D4B1A700D4B1B6803B1C8
:101D60001A703C22014BDA7070BC704700A006402C
:101D70006097FF1FDD96FF1F2097FF1FD896FF1F5C
:101D80006897FF1F6197FF1FE096FF1FDC96FF1FFC
:101D90006497FF1F21282BD8174B195CFF2929D0E6
:101DA000164B03EBC000436800221A60144B1868FE
:101DB00040F020001860134B1A6001208840124A3E
:101DC00010601248043A1060114A1A60F023013B77
:101DD0007FF4FDAF0B4A136813F4007FFBD1182387
:101DE000013B7FF4FDAF0B4B33F8110080B270471D
:101DF0000020704700207047003D0000F03B0000CD
:101E000038800440005004400850044000000203A1
:101E100080014A0000510440013803280BD872B6F3
:101E2000074B53F8203043B100205B680130002B92
:101E3000FBD162B67047002070471846F9E700BF33
:101E40001898FF1F70B472B6254A13781D0705D580
:101E5000244B196A21B3996A002930D053781C07A2
:101E600005D5204B196C002933D0996C59B3937860
:101E7000190704D51B4B196E69B3996E29B3D37832
:101E80001B0706D5174BD3F8802032B3D3F8882030
:101E9000EAB162B6144B00221A7070BC00F024BE86
:101EA00004221149114C0D7803EBC2060830013DA4
:101EB00070600D7043F8324062B670BC7047052206
:101EC00009490B4CEFE70922FAE70D22F8E7112246
:101ED000F6E70822E5E70C22E3E71022E1E700BF7E
:101EE000243D00000080FF1F4198FF1F8800400034
:101EF000C8004000431E032B30B418D81B4A4001D1
:101F000040F01000104472B6194CE25C032A03D86A
:101F1000DFE802F023250F20164A52F8230008B309
:101F2000154A52F82300416042F8231062B630BCD3
:101F30007047052201F1080545600988E25410F058
:101F4000080F0CBF8823C82343EA0143036062B62D
:101F500030BC704708300422ECE70322EAE708307F
:101F60000222E7E742F82310034ADDE70080FF1F63
:101F70005098FF1F1898FF1F2898FF1F2DE9F04F5A
:101F8000DFF810B3DFF814A385B045E0AF4F4FEA98
:101F9000930807EBC809013ED9F8042003F00803B1
:101FA000F6B2A2F1080003F0FF01002B40F0F2802E
:101FB00057F838301B0C22F8083C002B00F0E18069
:101FC000A34C22F8061C42F8041C54F826100029E1
:101FD00000F0AE819F4C54F82630586032F8083C2F
:101FE0009D4A44F8260032F816100B4422F81630A9
:101FF00000F05AFD002800F09F81984A984B19F094
:10200000080F00F1080008BF1346C9F8040047F89C
:10201000383008238BF800309BF80030DBB25A07C9
:102020000FD5904A12784AB18F490A7802F0FF0022
:1020300022B1421ED2B20A7002B900BE04228BF84D
:10204000002003F0080202F0FF01002A00F0C68021
:102050009AF80030DBB21E0998D19A08DFF8EC91AB
:1020600059F8321009EBC200C1F38301013940680D
:102070000C2900F28280DFE801F07D7D8080808085
:1020800080804580808007000768784C4168DFF8D1
:102090001082774E724B6160BDB200210120B5F510
:1020A000A06F49F832302760C8F80010C9F8101046
:1020B000C9F818103070654A00F0008300F2B08053
:1020C000822D00F0EA8240F2A782B5F5817F00F010
:1020D000D48240F20232954240F0C282A28802F0DD
:1020E0007F02042A00F3BC826488002C40F0B8828E
:1020F0006049039092001144A4460A7842F002021B
:102100000A7044E2DFF89881D8F8000038B35A4FDB
:102110005A493C88564E0D7896F800C0402C34BF82
:1021200022464022A41AA4B2BCF1000F3C8085F0E4
:10213000010745F002050F7009EBC5070CBF8821A8
:10214000C8218CF0010C41EA0241786086F800C099
:1021500049F83510002C60D08418C8F80040434B73
:102160001A88B2F5A06F08D100219A785970444BB3
:102170001A7002E03A4949F83210424901230B70C3
:1021800047E7364A364B19F0080F08BF134647F8A1
:1021900038303EE700F0A8FC3B4A3C4D52F8263070
:1021A000002B00F0D0805968A85D42F8261003F19A
:1021B0000802C9F80420032805D8DFE800F0022B44
:1021C00028250322AA551A8819F0080F0CBF882366
:1021D000C82343EA024347F838301AE7D80775D4D2
:1021E000190600F1BF809A0706D5294A29491478B3
:1021F0000220E4B214700870DB0602D5254B1022D1
:102200001A7005B0BDE8F08F0422AA55DBE705225D
:10221000AA55D8E70222AA55D5E7402A9DD19BE7C7
:10222000B5F5086F00F0348200F2AC80A5F5D065FA
:10223000012D00F2158218484268002A00F024821D
:102240006788B4F804C000F10C0131E00080FF1F82
:10225000C497FF1F7097FF1FAC98FF1F88004000B6
:10226000C80040004C98FF1FD597FF1F3898FF1FEC
:10227000D497FF1FC02007408097FF1F4098FF1F83
:1022800098200740942007401898FF1F5098FF1F80
:102290008820074080200740283D0000902007400C
:1022A0006C97FF1F02690C310C30002A00F0EC81A2
:1022B00031F80C3CBB42F5D131F80A3C6345F1D111
:1022C0003F0A032F0CBF10780089ABE1794B7A48A5
:1022D0007A4ADFF808A219614FF0020B80F800B0CB
:1022E000774C11704FF00D0B1C609C609961DFF80A
:1022F00008928AF800B0DFF8E0C1724F724E734D59
:10230000DFF8F881DFF8F8B1FF229F244FF0010ACF
:1023100089F80020C3F804808CF80020C3F80CB0C2
:10232000397032702C7080F800A005B0BDE8F08FD5
:1023300044F82600664C53E6664B47F838001A7896
:1023400001321A7065E6AB5D032B00F2BA8101A180
:1023500051F823F013200000132000007F23000019
:10236000792300005C4A5D480D24802104701170BF
:102370009A077FF541AF38E70123AB5549E60023C3
:10238000AB5546E6B5F5106F40F06A81116A5448C6
:10239000A47804700F0600F1B681D9F828204549C9
:1023A000150600F1AB81D9F830204249140600F13E
:1023B000A081D9F838203F49100600F19581D9F85D
:1023C00040203C49120600F15382D9F8482039498F
:1023D000130600F14882D9F850203649170600F15B
:1023E0003382D9F858203349150600F12882D9F8EC
:1023F00060203049140600F13182D9F868202D4957
:10240000100600F12682D9F870202A49120600F140
:10241000B081D9F878202749130600F1A581D9F8B1
:1024200080202449170600F1BB81D9F88820214972
:10243000150600F1AF81D9F890201E49140600F16D
:10244000A381D9F898201B49100600F197812549EE
:102450001F4C254DCDF80C80002301961F46884661
:102460001E4602942149885908B905E0204644686F
:1024700000F03AFB002CF9D11D4A1C499059029AF0
:1024800000238B51935108B905E02046446800F0C1
:102490002BFB002CF9D1164AEB5D00219151154A16
:1024A00028F8021F023B9151032B2ED8DFE803F0DE
:1024B000B02AB02A0080FF1F942007404098FF1FD9
:1024C00088004000982007408C2007408420074067
:1024D0007097FF1F4198FF1F80200740C0200740D2
:1024E0004C98FF1FAA98FF1F5098FF1FC497FF1F0B
:1024F0001898FF1F2898FF1F882007408497FF1F08
:10250000D897FF1F4FF00103EB550436102E07F14B
:102510000107A7D1B04CB14D2278DDF80C80019EA7
:1025200000212970AE490A70110700F173816278A9
:10253000AC49AD4F0A7000211207C9F83010C9F834
:10254000381000F13381A278A849A74F0A70130709
:102550004FF00001C9F85010C9F8581000F1EF8091
:10256000E278A349A04C0A7017074FF00001C9F8A0
:102570007010C9F8781000F1CB8032780392039B79
:10258000002283F0010CC9F89020C9F8982000209F
:10259000029001900546024696490C7844F00207E5
:1025A00009EBC7035A60039A002A56D1009088238A
:1025B000019A86F800C0134384F0010249F83730CD
:1025C0000A70002850D1402D1ED10004002542F091
:1025D0000202039B3370BCF1000F09EBC2070CBF72
:1025E0004FF0880C4FF0C80C0C70009B029979607A
:1025F0004CEA0000194449F832000DB9402B03D1D0
:102600007D4BC8F800101D807C4901230B70B4E598
:102610004FF00002EA5578E7802D21D1784A022058
:1026200011705170B4F806C0844580F0268171495C
:102630000C7844F0020709EBC700BCF1400F34BF2F
:102640006546402542602A44029201232A04C5EBD4
:102650000C0001924FF0000C03930090C823A7E7F1
:1026600068490F230B70CFE74028AED94023A0F173
:10267000400500934FF48000A9E7A28802F07F0292
:10268000042A01DC64881CB35E4A0F231370BBE785
:102690005D495B4A09781170C4E7A58805F07F059C
:1026A000042DDDDC574F564AAD002F441170517098
:1026B00039788D0716D510700220B3E78C46039049
:1026C00065E719F0080F0CBF02230323AB55A0E404
:1026D0004C49039092001144A4460A7822F0020269
:1026E0000A7054E702209DE7C86B083800F0FCF937
:1026F00065E6486B083800F0F7F95AE6C86A08380A
:1027000000F0F2F94FE6506A083800F0EDF944E6BF
:1027100000F0CAF9002800F0DB8008303B4AC4F81A
:102720008400C4F8802000F0BFF9002800F0CA80BF
:102730000830374AC9F88C00C9F888201DE700F036
:10274000B3F9002800F0AD800830304A78663A6668
:1027500000F0AAF9002800F09E8008302C4AC9F841
:102760006C00C9F86820FBE6C86F083800F0BCF9B7
:1027700055E6486F083800F0B7F94AE6D1F89C00F2
:10278000083800F0B1F962E6D1F89400083800F09A
:10279000ABF956E6D1F88C00083800F0A5F94AE606
:1027A000D1F88400083800F09FF93EE600F07CF98B
:1027B000002800F099800830144A78643A6400F0E8
:1027C00073F9002800F08A800830114AC9F84C00DB
:1027D000C9F84820B7E600BF243D00004198FF1F1C
:1027E000C4200740C82007400080FF1FCC200740BE
:1027F000D02007404098FF1F8097FF1F942007407C
:102800004498FF1FC02007404C98FF1F88004000DD
:10281000C800400000F048F900284DD00830354A83
:10282000C9F82400C9F8202000F03EF900283DD066
:102830000830314AC9F82C00C9F8282077E6C86D5D
:10284000083800F051F9D2E5486D083800F04CF92D
:10285000C7E5C86E083800F047F9D4E5486E083877
:1028600000F042F9C9E5C86C083800F03DF9B2E55E
:10287000486C083800F038F9A7E5402834BF054611
:1028800040252904019153190121401B02934FF067
:10289000000C039180E62A78C9F8680001322A709A
:1028A0005EE62A78386601322A7051E72A78C9F83C
:1028B000280001322A703AE62A78C9F8200001324D
:1028C0002A70B1E72A78C9F8880001322A7054E6E4
:1028D0002A78C4F8800001322A7024E72A78C9F8DF
:1028E000480001322A702EE62A78386401322A70B4
:1028F00065E700BF88004000C80040002DE9F84FA0
:1029000000F090FA304B3149DFF8E4A0DFF8E490B2
:10291000DFF8E480DFF8E4C02D4F2E4E2E4D2F4C13
:102920002F4800221A605A609A60DA601A615A6170
:102930009A61DA611A625A629A62DA621A635A63B7
:102940009A63DA631A645A649A64DA641A655A6597
:102950009A65DA651A665A669A66DA661A675A6777
:102960009A67DA67C3F88020C3F88420D1F800B0F2
:102970004BF4802BC1F800B0C3F307218AF8001094
:10298000C3F3074189F800101B0EFF2188F80030BF
:102990008CF800103970317012494FF0010985F838
:1029A00000900A70104A114982F800904FF07008A8
:1029B0004FF400734FF0100C81F80080236080F812
:1029C00000C0BDE8F88F00BF0080FF1F34800440C6
:1029D00088200740102007409420074008E100E0CD
:1029E00008210740002107408420074049E400E017
:1029F0009C200740B0200740B420074080200740BB
:102A00002DE9F0470646254B1B7813F0FF0F39D010
:102A100003283BD843F601440746DFF88480DFF8FB
:102A20007C90751C2846FFF7F7F9022803D800F0C0
:102A30003BF8034698B9013C02D098F8003033B116
:102A40000122174B1A704FF0FF30BDE8F08700F0FD
:102A500075F899F8003013F0FF0FE2D11AE0002466
:102A60000F4A14700F4A02EBC70ABAE803009860D5
:102A7000D96008221A8028461946FFF73BFA2046FB
:102A8000BDE8F0874FF0FF30BDE8F0874FF0FF3032
:102A9000BDE8F0874FF0FF30BDE8F0874C98FF1F8E
:102AA0005498FF1FB498FF1F72B60D4B1A68B2FA04
:102AB00082F31D2B02D962B6002070474FF000410F
:102AC000D94022EA010206490A6062B6054903EBD1
:102AD000C303DB00C8180022CA504260704700BF21
:102AE000B48CFF1F0084FF1F08B50F4BC31A0F4A99
:102AF000A2FB03131B091D2B14D80D4A12783AB1FF
:102B00000C4A127812F0FF0F02D0FFF79BF908BDB4
:102B100072B6094A4FF0004121FA03F311681943D4
:102B2000116062B608BD00BF0084FF1F398EE33814
:102B30004198FF1F4C98FF1FB48CFF1F10B51A4B14
:102B40001B78002B2ED10022174B1A70EFF3058350
:102B5000002B27D1EFF3108372B6934214BF0023EA
:102B60000123124A106810B9E3B162B610BD104AD1
:102B7000127812B1B3B162B610BD01210C4A1170C6
:102B800042690A490A6012B10021916102E0002104
:102B9000084A116003B162B60024447783689847FD
:102BA000034B1C7010BD00BF5798FF1F6898FF1F94
:102BB0006C98FF1F6498FF1F70B5EFF3108272B618
:102BC000D2F1010238BF00220E4B1868B8B11C4682
:102BD0000D4E0025436923600BB19D6100E0356017
:102BE00002B162B6457783689847EFF3108272B6F8
:102BF000D2F1010238BF002220680028EAD102B1D8
:102C000062B670BD5898FF1F5C98FF1F08B5FFF7AC
:102C1000D3FF08BD1C4B1B6823B98360C3601A4BEC
:102C200018602EE001681A6891421FD2836000226A
:102C3000C260D860196802688A1A1A60124B18605C
:102C40001FE001681A688A1A02609B6819688A4244
:102C50000CD28360DA68C260D860C268906019687C
:102C600002688A1A1A600223037570479A68002A5C
:102C7000E7D101681A688A1A026000228260C36084
:102C800098600223037570476098FF1F70B5194B59
:102C90001C68ECB123682BB101E0236823B1013B30
:102CA000236015E00025134EA36803B1DD60336097
:102CB0002575206903681B68294622469847636882
:102CC0001BB123602046FFF7A5FF3468002CE4D138
:102CD000EFF3108272B6084B18680021196002B930
:102CE00062B628B18468FFF795FF0CB12046F9E77A
:102CF00070BD00BF6098FF1F7098FF1F08B5034BA1
:102D00001A6801321A60FFF7C1FF08BDD496FF1F91
:102D100060223A4B1A70E12201331A70384B1B784B
:102D2000082B10D1012203F1804303F56C331A60A4
:102D3000132334490B6001F5FF2101F2FC710A6095
:102D4000314A13601FE00A2B0DD119222F4B1A6054
:102D500013232C490B6001F5FF2101F2FC710A607D
:102D6000294A13600FE00C2B0CBF15223D22274B84
:102D70001A60122323490B6001F5FF2101F2FC7157
:102D80000A60214A1360224B1B7833B10123214A88
:102D9000136002F50022136005E000231D4A136052
:102DA00002F5002213601C4B1B78012B06D88023F0
:102DB0001A4A136002F5002213601AE0042B06D8A9
:102DC0008423164A136002F50022136011E0082BD9
:102DD00006D88523114A136002F50022136008E02B
:102DE000102B94BF862387230C4A136002F5002220
:102DF000136001220A4B1A70704700BF0040074061
:102E0000B88CFF1F0CB003400CB00B4008B003405F
:102E10007598FF1F20B00340B98CFF1F24B00340FA
:102E20007498FF1F00B585B072B61B4B70221A70E4
:102E300041211A4A11700F21013A117080221A7033
:102E40001A46137813F0800FFBD0154B186862B642
:102E5000144B98429CBF00EB8000400001A90A225D
:102E600000F024F89DF804307BB908E001A9595C12
:102E700031B19180023201330A2BF7D100E00023F7
:102E800001335B00084A137003E0074A53800123B3
:102E9000ECE705B05DF804FB0000024007000240CB
:102EA000080002407F969800C88DFF1F30B40023B1
:102EB000B0FBF2F402FB14041D46092C94BF30341D
:102EC0003734E4B2CC54B0FBF2F008B10133EFE791
:102ED0000D4400226A70934207DD885CCC5C8C5400
:102EE000C8540132013B9A42F7DB084630BC7047B8
:102EF000014B1868704700BF0892FF1F70B50F4E56
:102F00000F4D761BB61007D0043D0024013455F850
:102F1000043F9847A642F9D10A4E0B4D761B00F0AC
:102F200061FFB61008D0043D0024013455F8043F79
:102F30009847A642F9D170BD70BD00BFF03D0000BA
:102F4000F03D0000F83D0000F03D0000024B01465E
:102F5000186800F003B800BF0892FF1F2DE9F04F7A
:102F600001F10B05162D83B0064627D935F007056C
:102F700027D4A94225D8304600F0D6FAB5F5FC7F13
:102F800026D2C14F4FEAD50C07EBCC03DC689C423C
:102F900000F0D2816368E268A16823F00303234450
:102FA00030465D68CA6045F0010591605D6000F0E3
:102FB000BDFA0834204603B0BDE8F08F1025A942C1
:102FC000D9D900240C232046336003B0BDE8F08F2C
:102FD0005FEA552C00F08A80BCF1040F00F260819A
:102FE0004FEA951C0CF1380C4FEA4C01A64F07EB49
:102FF0008101CC68A14205D10CE0002B7ADAE468AB
:10300000A14207D0626822F00302531B0F2BF4DDAC
:103010000CF1FF3C0CF1010C9B4B3C6903F1080ED9
:10302000744500F07E81616821F003014A1B0F2A7C
:1030300000F36481002AC3F814E0C3F810E06ADAF0
:10304000B1F5007F80F03A81C90803EBC1004FEA77
:10305000A1085A688168A1604FF0010909FA08F8CF
:1030600048EA0202E0605A608460CC604FEAAC0338
:103070000120984090425BD8024206D12CF0030C0C
:10308000400002420CF1040CFAD007EBCC08444695
:10309000E146E3689C4207D145E1002A80F256816F
:1030A000DB689C4200F03F81596821F003014A1B14
:1030B0000F2AF2DD1C46D3F80CC054F8088F5919BA
:1030C00045F0010942F00105C3F804903046C8F804
:1030D0000CC0CCF8088079613961C1F80CE0C1F806
:1030E00008E04D608A5000F021FA63E77E214FF03E
:1030F0003F0C7BE72244E3685068A16840F001057B
:10310000CB6030469960556000F010FA08342046D4
:1031100003B0BDE8F08F214430464B6843F0010313
:103120004B6000F003FA0834204603B0BDE8F08F8E
:10313000BC68636823F00309A94504D3C5EB090300
:103140000F2B00F39180514B514A196813680133DA
:1031500005EB010A04EB090B00F061810AF5805AC6
:103160000AF10F0A2AF47F6A2AF00F0A3046514604
:10317000019200F0DDF9B0F1FF3F8046019A00F0C6
:103180000081834500F2FA80DFF810C1DCF80030DE
:10319000C3455344CCF8003000F04A8112683C49E2
:1031A00001321BBFCBEB080B5B44C1F80080CCF8AD
:1031B000003018F0070300F01381C3F10802C3F5D3
:1031C000805390440833C244CAF30B0ACAEB030A83
:1031D00051463046CDF804C000F0AAF9431CDDF892
:1031E00004C000F03581C8EB0002524442F00102F5
:1031F000DCF80030C7F808805344BC42C8F804200B
:10320000CCF80030DFF894A015D0B9F10F0F40F2E0
:10321000EA806168A9F10C0222F0070201F0010EB8
:10322000A118052042EA0E0E0F2AC4F804E04860F7
:10323000886000F21181174ABC6811688B4288BF10
:103240001360154A11688B4288BF1360626822F0D0
:1032500003029542C5EB020301D80F2B04DC304674
:1032600000F064F90024A5E6621943F0010345F07B
:10327000010565603046BA60536000F057F90834C4
:10328000204603B0BDE8F08F0C92FF1F8098FF1F0F
:103290001896FF1F7C98FF1F7898FF1F8498FF1FC8
:1032A000BCF1140F61D9BCF1540F00F28F804FEACA
:1032B000153C0CF16E0C4FEA4C0197E64B0A042BBF
:1032C00058D9142B00F2AE8003F15B02500007EBDB
:1032D0008000DFF8BC818368834200F08A805A68EE
:1032E00022F00302914202D29B689842F7D1D9683A
:1032F0007A68E160A3608C60DC60B7E6611942F037
:10330000010745F001056560304659611961C1F852
:103310000CE0C1F808E04F608A50083400F006F96C
:1033200048E65A68A2E609F1010919F0030F04F111
:1033300008047FF4AEAE2DE004F108036469A342F3
:1033400008BF0CF1020C3FF467AE23E619441C469B
:103350004868DB6854F8082F40F001054D6030469E
:10336000D3609A6000F0E2F824E60CF15B0C4FEABF
:103370004C013BE68A0938325000A8E7BC423FF4D2
:1033800003AFBC68626822F0030262E7D8F80080ED
:1033900098457BD11CF0030FA8F108030CF1FF3C0A
:1033A000F4D17B6823EA00037B60400098423FF63B
:1033B000BFAE00283FF4BCAE0342CC467FF465AEFE
:1033C000400003420CF1040CFAD05EE6BCF5AA7F83
:1033D0001AD84FEAD53C0CF1770C4FEA4C0105E6C0
:1033E0004FF48053EFE60123C8F80430444600222E
:1033F0002FE791100120D8F8042000FA01F10A43C8
:10340000C8F80420194674E740F254539C451BD871
:103410004FEA954C0CF17C0C4FEA4C01E6E50AF1C1
:10342000100AA3E6542B1FD80A0B6E3250004EE749
:10343000CBF30B0100297FF4B1AE0AEB0901BA68A6
:1034400041F001015160F6E6FC214FF07E0CCDE524
:1034500001224FF0000ACBE604F10801304600F0EB
:1034600021F9DAF80030E6E6B3F5AA7F03D8CA0BF3
:10347000773250002BE740F25452934203D88A0C23
:103480007C32500023E7FC207E2220E77B688CE71B
:103490000C92FF1FF0B4840743D0541E002A3ED084
:1034A000CDB2034603E0621E002C38D0144603F868
:1034B000015B9A07F7D1032C2AD9CDB245EA05253D
:1034C0000F2C45EA054515D9A4F110073F0903F172
:1034D000100606EB07161A46156055609560D56014
:1034E0001032B242F8D104F00F040137032C03EB81
:1034F00007130DD91E462246043A032A46F8045BF8
:10350000FAD8221F22F003020432134404F0030409
:103510002CB1C9B21C4403F8011BA342FBD1F0BC7F
:10352000704714460346C6E7704700BF704700BFA8
:1035300038B5074C0023054608462360FEF76EFAAF
:10354000431C00D038BD2368002BFBD02B6038BD56
:10355000D498FF1F40EA01039B0770B42AD1032AC5
:1035600028D90C460346214654F8045BA5F10136E0
:1035700026EA050616F0803F05D1043A032A43F8EF
:10358000045B2146EFD89AB10C781C70013A0133E4
:103590003CB16AB111F8014F03F8014B013A002C1C
:1035A000F7D12AB11A44002103F8011B9342FBD141
:1035B00070BC70470346E6E7024B13B1024800F0C7
:1035C00005B8704700000000D93500000146002012
:1035D0000246034600F034B938B5094D094C641B66
:1035E000A41018BF05EB840505D0013C55F8043D37
:1035F0009847002CF9D1BDE8384000F0FDBB00BF72
:103600000000000000000000F8B5234D0F460446FE
:10361000FFF78AFFAB685E6826F00306F11B01F630
:10362000EF7121F47F6121F00F01A1F58057B7F50B
:10363000805F07DB20460021FFF77AFFAB68334449
:10364000984204D02046FFF771FF0020F8BD2046C5
:103650007942FFF76DFF01300DD0104BAA68196851
:10366000F61B46F001062046C91B56601960FFF79D
:103670005DFF0120F8BD20460021FFF759FFAB6830
:10368000C21A0F2ADEDD064D04492D6842F0010200
:10369000401B5A600860D5E70C92FF1F8498FF1FFB
:1036A0001896FF1F2DE9F0410D460646002955D01A
:1036B000FFF73AFF55F8041CDFF874C121F001034D
:1036C000A5F10804E218DCF808005768904227F0DA
:1036D000030769D011F00101576032D00021D019E1
:1036E0004068C00706D43B44906800294ED0D26899
:1036F000C260906043F001026260E350E1B9B3F54B
:10370000007F2DD35A0A042A6AD89809383041001C
:103710000CEB810C4649DCF80820624566D0516804
:1037200021F003018B4202D292689445F7D1D3680D
:10373000E360A2609C60D4603046BDE8F041FFF7D2
:10374000F5BE55F8085C641B0CF10808A0684045FC
:103750002B4443D0E568C560A860C0E7BDE8F081B0
:10376000DB080CEBC3020125DCF804009168A160C2
:103770009B1005FA03F31843E260CCF80400946050
:103780003046CC60BDE8F041FFF7D0BE294DA842DD
:10379000ADD143F00102CCF81440CCF81040E06009
:1037A000A0606260E350C7E71F44CB0707D455F819
:1037B000083CE41A1F44A268E368D3609A601E4B79
:1037C0001B6847F001029F426260CCF80840B3D307
:1037D0001A4B30461968FFF717FFADE701217EE766
:1037E000142A0CD802F15B00410091E74B6880106D
:1037F000012505FA00F003434B60134698E7542A6D
:1038000003D8180B6E30410082E7B2F5AA7F03D8C7
:10381000D80B773041007BE740F254518A4203D8FD
:10382000980C7C30410073E7FC217E2070E700BFDC
:103830000C92FF1F1492FF1F1496FF1F8098FF1F0A
:10384000F0B5274C2668D6F8484185B00746002CCD
:1038500041D065681F2D1EDD224818B94FF0FF309A
:1038600005B0F0BD4FF4C870039102920193FFF7C9
:103870006DFB0399029A019B04460028EED0D6F80E
:1038800048512560002060600546C6F84841C4F8EC
:103890008801C4F88C013FB9AB1C0020013565607C
:1038A00044F8231005B0F0BD04EB85004FF0010C87
:1038B000C0F88820D4F888610CFA05F21643022F6C
:1038C000C4F88861C0F80831E6D1D4F88C311A43C5
:1038D000C4F88C21E0E706F5A674C6F84841B8E7BD
:1038E000E03D00004D2F00000503020444657465AF
:1038F0006374696E67202564000000004368656397
:103900006B656420706F72742025643A2025642FE3
:103910002564000025732070696E6D61736B3A2019
:103920002530327800000000496E69746961746561
:1039300064206A6F79737469636B206C696200003C
:103940004E363400534E4553000000004E455300A0
:103950004372656174656420636F6E74726F6C6C22
:103960006572730050696E7320757365643A203018
:10397000782558202825732900000000256C753A09
:1039800020506F6C6C696E6720436F6E74726F6C41
:103990006C6572732E2E2E002573206D61736B3A49
:1039A0002030782558202825732900005365747429
:1039B000696E67206A6F79737469636B20746F2016
:1039C000257520706F732025750000004A6F79738C
:1039D0007469636B20627574746F6E2064617461C6
:1039E0003A20255820255800417865733A202564EF
:1039F00020256420256400FF0017160111120F1006
:103A000014150613FFFFFFFF000000000000000078
:103A1000F50F00009D150000990B00009D0B0000A4
:103A2000A10B0000F11500004D0F0000B5150000BE
:103A30005265616420253032642062697473202FDE
:103A4000215C000052656164202530326420626987
:103A5000747320202000000046697273742F6D6912
:103A60006E2F6D69642F6D61783A2025642F25646F
:103A70002F25642F25640000252E3258252E32581C
:103A8000252E3258252E325800FFFFFF0017160151
:103A90000000000000000000791200009D150000E9
:103AA0000D1000000910000065120000F115000063
:103AB00059110000B5150000050302041415061382
:103AC00005030204FFFFFFFF0000000000000000EC
:103AD000951500009D15000081120000C91200001C
:103AE00081150000F115000049140000B515000013
:103AF0001415061305030204000000000000000076
:103B0000C11500009D150000511A0000511A000057
:103B1000511A0000F1150000511A0000B5150000FF
:103B2000496E6974696174696E6720257320636FDB
:103B30006E74726F6C6C6572730000002573205098
:103B4000696E6D61736B3A2025580000256C753ADB
:103B50002046696C6C696E6720737461747573209C
:103B6000666F722025733A00255820255820256459
:103B700000FFFFFF001716014552523A3E384254EB
:103B800000FFFFFF3B0100002D000E01FFFF5A0068
:103B9000E100B4008700000025643A205365747486
:103BA000696E672068617420746F20256420282561
:103BB000642C20256429000025643A205365747420
:103BC000696E67206178697320256420746F2025F1
:103BD000640000004D617070696E672025643A25AD
:103BE0006420746F2025643A25642E2E2E00FFFF7A
:103BF0004008FE4340A004404408FE4344A0044063
:103C00000018FE4300C004403000FE4330900440E2
:103C10003400FE43349004401C18FE431CC0044092
:103C20001018FE4310C004400818FE4308C00440AA
:103C30000C18FE430CC004400C10FE430CB00440B2
:103C40001010FE4310B004401810FE4318B004409A
:103C50001C10FE431CB004401410FE4314B004407A
:103C60000418FE4304C004400010FE4300B00440AA
:103C70000008FE4300A004400408FE4304A00440E2
:103C80000C08FE430CA004400808FE4308A00440B2
:103C90001418FE4314C004401818FE4318C0044012
:103CA0000410FE4304B004400810FE4308B0044072
:103CB0001400FE43149004404C08FE434CA0044002
:103CC0000420FE4304D004402410FE4324B00440EA
:103CD0002010FE4320B004402810FE4328B00440CA
:103CE0002C10FE432CB004400020FE4300D00440C2
:103CF0004808FE4348A004401000FE4310900440D2
:103D0000090AFFFFFFFFFFFFFFFFFFFFFFFFFF0DA0
:103D100000060807FFFF0E0FFF0CFFFFFFFFFFFF6E
:103D20000B05000015151515000100000C8DFF1F77
:103D30001200000000020000388DFF1F6D0000001F
:103D400000220000BC8CFF1F50000000002100007A
:103D50004A8DFF1F0900000000220100BC8CFF1FDC
:103D600050000000002101004A8DFF1F09000000E3
:103D700000220200BC8CFF1F500000000021020046
:103D80004A8DFF1F0900000000220300BC8CFF1FAA
:103D900050000000002103004A8DFF1F09000000B1
:103DA00000030000C48DFF1F000000000103090490
:103DB000208DFF1F0000000002030904A88DFF1FD3
:103DC0000000000003030904C88DFF1F000000006D
:103DD00000000000000000000000000043000000A0
:103DE000E08DFF1FF8B500BFF8BC08BC9E467047C9
:083DF000B935000035040000A4
:043DF800F8B500BF5B
:103DFC000201090AC1C7C3C5000000000000000091
:103E0C000201090AC1C7C3C503040506000000006E
:103E1C0003020B08C1C7C3C500000506868784854D
:103E2C000A000000190000000100000091190000B8
:103E3C00D898FF1FFFFFFFFF0A04000005010905CA
:103E4C00A10115002501350045017501950E0509E7
:103E5C001901290E81029502810105012507463BB6
...

This file has been truncated, please download it to see its full contents.

Github

Credits

Joel Bradshaw

Joel Bradshaw

1 project • 2 followers
Degrees in CS and EE, interned at Fluke, webdev by day, hardware hacker by night.

Comments