Hardware components | ||||||
| × | 1 | ||||
| × | 2 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 8 | ||||
| × | 4 | ||||
| × | 4 | ||||
| × | 4 | ||||
| × | 4 | ||||
Hand tools and fabrication machines | ||||||
|
For full details, there's now a detailed assembly guide in the Github Repository for the boardfiles. For those who just want the quick overview, here are the the peculiarities you'll need to be aware of:
- The bases of the 0.156" headers are too wide to fit in the correct row spacing - I use nippers to chop off about half of one side of the base
- The receptacles for the side boards (8-pin) partially overlap where the pins for the Teensy receptacles (12-pin) go. Solder the Teensy receptacles in first! I also trim the pins with a wire cutter so that the 8-pin headers fit flatter against the board.
- There are several optional solder-bridge pads for different configurations, ignore these - the only non-header components are the four pull-down resistors, which go on the pads marked R1, R2, etc. I recommend soldering these before any headers, it's easier that way.
There is also a 3D STL file (scroll down to the CAD section at the bottom) for a jig that has slots for the various headers to hold them in place - this makes assembly much easier, but for a one-off assembly it's helpful but not necessary.
In short, I recommend soldering in this order:
Side boards - resistors, 0.156" headers, 8-pin 0.1" header
Main board - Teensy receptacles (trim pins before soldering), then 8-pin 0.1" receptacles
Current StatusRev 9, the current revision, is working well enough that I ordered several boards and am going to bring them to the Portland Retro Gaming Expo to show them off, gauge interest, and perhaps sell a few basically at-cost to beta testers! (If that's you, hello, and thanks for checking it out!)
Controller detection is working well, I have a few software things to clean up before the expo, but nothing daunting. I also managed to get the Nintendo Switch to recognize it, so you can play the official emulators with original controllers, which is quite exciting.
Hardware-wise I'm pretty happy with where things are - I'm finishing up a case design that is printing as I type, and I really like the controllers on the side. I moved to KiCad (from Eagle) a couple revs ago, and that has been excellent.
The software is functional, it could use some general cleanup, as it's been rearranged a couple times, but I've done some of that already, and it works fine, it just isn't the nicest to work on.
The headers and connections to be able to act as a Bluetooth controller, with another daughterboard, are still there, the software is still rough and laggy, but that's taken a back burner to getting the main functionality ship shape.
I'm hoping to get some good feedback from PRGE for future directions, but this is the first rev actually feel okay about other people taking a run at, so I'm excited to see what happens!
History:
Rev 3 was the first really functional board, but it was home-etched and jerry-rigged with some janky jumper wires, it's became more and more unreliable, so I headed over to OSHPark for rev 4.
Rev 4 was where the first major progress was made - I worked out some issues with the USB drivers to allow emulating four separate joysticks (instead of two, each controller using half a joystick), refined the auto-detection routines, and got things running nice and smoothly. Rev 4 had two major issues though. Firstly, the Teensy footprint was upside-down. Easy enough fix, but requires a new rev, and everything works except for fitting in the box correctly. Secondly, the IC switches kept dying, and after some frustration I realized I didn't actually need them - I could just do the switching in the microcontroller with the same number of lines. As a bonus, it reduces the part count by almost half. I tweaked the firmware to account for that, jumpered a rev 4 board, and everything is working smoothly.
So, with those two changes, Rev 5 was in and populated. All worked pretty well, but in working with it and planning for Teensy 3, I realized that NES/SNES controllers are CMOS, they'll run off of 3.3V just fine, and thus I could convert my Teensy to 3.3V and just run everything off of that. This became rev 6, and the concept worked perfectly.
Rev 6 reduced the parts count even further, and added a 3D-printed jig to assist in making sure the socket pins are well-aligned, which made assembling the board much easier.
The main issues found in rev 6 were the socket depth - with the lid on, the N64 controllers don't make a great connection, because the pins don't reach deep enough into the plug. There don't seem to be many options around longer pins. The other big push was mainly software - getting it compatible with Teensy 3 to take advantage of the speed boost and Micro-USB. Currently the N64 code is written mostly in assembly due to the very tight timing required - the faster clockspeed of the Teensy 3 would require (and allow!) this to be rewritten in C. The shorter Micro connector might also help a bit with the socket depth.
I jerry-rigged rev 6 to work with a Teensy 3 and updated the software to use interrupts, which was a big pull but now is working pretty reliably. This eventually begat rev 7, which was designed for Teensy 3. Anothrer major change in rev 7 was, after some brainstorming, to move the controller ports to the side, by having a main board that hosts the Teensy and side boards that plug into the main board. I also took this opportunity to move from Eagle to KiCad for the board design, which was some effort but definitely worth it.
Rev 7 worked pretty well, but - doh! - had the connectors between the main board and side boards reversed, and also had some resistors in inaccessible places (namely, under headers). I was able to still use the board for testing by plugging it in upside-down, since there was only one row, and otherwise Rev 7 performed as anticipated.
A lot of effort in the software was to safely and reliably detect which controllers were plugged into which ports. There were many schemes I came up with for this, and rev 8 was a test board to correct the connection and allow testing a few approaches to the detection.
Rev 8 worked as designed, allowed me to test various schemes and ultimately settled on a hybrid scheme, using the Teensy's capacitive touch inputs to detect NES and N64 controllers,, and then do some probing to distinguish between and SNES and an empty port. This has worked reliably, and avoids submitting the controller chips to voltages outside their operating ranges - namely, when overlaid, the same pin is VCC on SNES and GND on NES, so earlier approaches required tying both VCC and GND to either 0V or 5V, which was what I managed to avoid with the capacitive touch approach.
Accessing the touch ports required rearranging the board a bit, since not all inputs are touch-enabled. This resulted in a sub-rev of the side boards (v0.8.1), and then a rework of the whole board in rev 9.
More pictures!Enclosure - main body
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 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.
Teensy 3.2 HEX file
Plain text: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.
Comments