Last active
March 7, 2023 01:36
-
-
Save odaki/982ee76cc60666d2f1460affb31cf297 to your computer and use it in GitHub Desktop.
usbasp_patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff -cr usbasp.2011-05-28/Changelog.txt usbasp.2023-02-18/Changelog.txt | |
*** usbasp.2011-05-28/Changelog.txt 2011-05-28 16:57:49.000000000 +0900 | |
--- usbasp.2023-02-18/Changelog.txt 2023-02-18 14:56:46.000000000 +0900 | |
*************** | |
*** 1,3 **** | |
--- 1,7 ---- | |
+ usbasp.2023-02-18 (v1.4 patch by odaki) | |
+ - fixed slow clock mode | |
+ - Fixed a signal conflict problem where a signal other than the PD2 pin is connected to USB- on compatible products such as USB-ASP2, causing that pin to be initialized as an output. | |
+ | |
usbasp.2011-05-28 (v1.4) | |
------------------------ | |
- added TPI support for ATTiny4/5/6/10 (by Slawomir Fraś) | |
Only in usbasp.2023-02-18/bin: .DS_Store | |
diff -cr usbasp.2011-05-28/firmware/Makefile usbasp.2023-02-18/firmware/Makefile | |
*** usbasp.2011-05-28/firmware/Makefile 2011-05-28 16:57:49.000000000 +0900 | |
--- usbasp.2023-02-18/firmware/Makefile 2023-02-19 00:32:28.000000000 +0900 | |
*************** | |
*** 11,16 **** | |
--- 11,24 ---- | |
HFUSE=0xc9 | |
LFUSE=0xef | |
+ AVRGCCDIR=~/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/ | |
+ AVRDUDEDIR=~/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino18/bin/ | |
+ | |
+ CC=$(AVRGCCDIR)avr-gcc | |
+ OBJCOPY=$(AVRGCCDIR)avr-objcopy | |
+ OBJDUMP=$(AVRGCCDIR)avr-objdump | |
+ AVRDUDE=$(AVRDUDEDIR)avrdude | |
+ AVRDUDE_CONF=$(AVRDUDEDIR)../etc/avrdude.conf | |
# ISP=bsd PORT=/dev/parport0 | |
# ISP=ponyser PORT=/dev/ttyS1 | |
*************** | |
*** 18,24 **** | |
# ISP=usbasp PORT=/dev/usb/ttyUSB0 | |
# ISP=stk500v2 PORT=/dev/ttyUSB0 | |
ISP=usbasp | |
- PORT=/dev/usb/ttyUSB0 | |
help: | |
@echo "Usage: make same as make help" | |
--- 26,31 ---- | |
*************** | |
*** 35,43 **** | |
@echo " HFUSE=${HFUSE}" | |
@echo " CLOCK=12000000" | |
@echo " ISP=${ISP}" | |
- @echo " PORT=${PORT}" | |
! COMPILE = avr-gcc -Wall -O2 -Iusbdrv -I. -mmcu=$(TARGET) # -DDEBUG_LEVEL=2 | |
OBJECTS = usbdrv/usbdrv.o usbdrv/usbdrvasm.o usbdrv/oddebug.o isp.o clock.o tpi.o main.o | |
--- 42,49 ---- | |
@echo " HFUSE=${HFUSE}" | |
@echo " CLOCK=12000000" | |
@echo " ISP=${ISP}" | |
! COMPILE = $(CC) -Wall -O2 -Iusbdrv -I. -mmcu=$(TARGET) # -DDEBUG_LEVEL=2 | |
OBJECTS = usbdrv/usbdrv.o usbdrv/usbdrvasm.o usbdrv/oddebug.o isp.o clock.o tpi.o main.o | |
*************** | |
*** 64,88 **** | |
main.hex: main.bin | |
rm -f main.hex main.eep.hex | |
! avr-objcopy -j .text -j .data -O ihex main.bin main.hex | |
# ./checksize main.bin | |
# do the checksize script as our last action to allow successful compilation | |
# on Windows with WinAVR where the Unix commands will fail. | |
disasm: main.bin | |
! avr-objdump -d main.bin | |
cpp: | |
$(COMPILE) -E main.c | |
flash: | |
! avrdude -c ${ISP} -p ${TARGET} -P ${PORT} -U flash:w:main.hex | |
fuses: | |
! avrdude -c ${ISP} -p ${TARGET} -P ${PORT} -u -U hfuse:w:$(HFUSE):m -U lfuse:w:$(LFUSE):m | |
avrdude: | |
! avrdude -c ${ISP} -p ${TARGET} -P ${PORT} -v | |
# Fuse atmega8 high byte HFUSE: | |
# 0xc9 = 1 1 0 0 1 0 0 1 <-- BOOTRST (boot reset vector at 0x0000) | |
--- 70,94 ---- | |
main.hex: main.bin | |
rm -f main.hex main.eep.hex | |
! $(OBJCOPY) -j .text -j .data -O ihex main.bin main.hex | |
# ./checksize main.bin | |
# do the checksize script as our last action to allow successful compilation | |
# on Windows with WinAVR where the Unix commands will fail. | |
disasm: main.bin | |
! $(OBJDUMP) -d main.bin | |
cpp: | |
$(COMPILE) -E main.c | |
flash: | |
! $(AVRDUDE) -C $(AVRDUDE_CONF) -c ${ISP} -p ${TARGET} -u -U flash:w:main.hex | |
fuses: | |
! $(AVRDUDE) -C $(AVRDUDE_CONF) -c ${ISP} -p ${TARGET} -u -U hfuse:w:$(HFUSE):m -U lfuse:w:$(LFUSE):m | |
avrdude: | |
! $(AVRDUDE) -C $(AVRDUDE_CONF) -c ${ISP} -p ${TARGET} -v | |
# Fuse atmega8 high byte HFUSE: | |
# 0xc9 = 1 1 0 0 1 0 0 1 <-- BOOTRST (boot reset vector at 0x0000) | |
Only in usbasp.2023-02-18/firmware: Makefile.orig | |
diff -cr usbasp.2011-05-28/firmware/isp.c usbasp.2023-02-18/firmware/isp.c | |
*** usbasp.2011-05-28/firmware/isp.c 2011-01-20 03:18:00.000000000 +0900 | |
--- usbasp.2023-02-18/firmware/isp.c 2023-02-18 13:37:54.000000000 +0900 | |
*************** | |
*** 162,171 **** | |
} | |
/* pulse SCK */ | |
ISP_OUT |= (1 << ISP_SCK); /* SCK high */ | |
ispDelay(); | |
ISP_OUT &= ~(1 << ISP_SCK); /* SCK low */ | |
- ispDelay(); | |
} | |
return rec_byte; | |
--- 162,171 ---- | |
} | |
/* pulse SCK */ | |
+ ispDelay(); /* slow CLK option */ | |
ISP_OUT |= (1 << ISP_SCK); /* SCK high */ | |
ispDelay(); | |
ISP_OUT &= ~(1 << ISP_SCK); /* SCK low */ | |
} | |
return rec_byte; | |
diff -cr usbasp.2011-05-28/firmware/main.c usbasp.2023-02-18/firmware/main.c | |
*** usbasp.2011-05-28/firmware/main.c 2011-05-28 16:57:49.000000000 +0900 | |
--- usbasp.2023-02-18/firmware/main.c 2023-02-19 00:33:28.000000000 +0900 | |
*************** | |
*** 306,313 **** | |
/* no pullups on USB and ISP pins */ | |
PORTD = 0; | |
PORTB = 0; | |
! /* all outputs except PD2 = INT0 */ | |
! DDRD = ~(1 << 2); | |
/* output SE0 for USB reset */ | |
DDRB = ~0; | |
--- 306,313 ---- | |
/* no pullups on USB and ISP pins */ | |
PORTD = 0; | |
PORTB = 0; | |
! /* all PDx inputs */ | |
! DDRD = 0; | |
/* output SE0 for USB reset */ | |
DDRB = ~0; | |
*************** | |
*** 324,330 **** | |
/* all inputs except PC0, PC1 */ | |
DDRC = 0x03; | |
! PORTC = 0xfe; | |
/* init timer */ | |
clockInit(); | |
--- 324,330 ---- | |
/* all inputs except PC0, PC1 */ | |
DDRC = 0x03; | |
! PORTC = 0xFF; | |
/* init timer */ | |
clockInit(); | |
diff -cr usbasp.2011-05-28/firmware/usbdrv/usbdrv.c usbasp.2023-02-18/firmware/usbdrv/usbdrv.c | |
*** usbasp.2011-05-28/firmware/usbdrv/usbdrv.c 2011-01-20 02:17:36.000000000 +0900 | |
--- usbasp.2023-02-18/firmware/usbdrv/usbdrv.c 2023-02-18 13:33:31.000000000 +0900 | |
*************** | |
*** 67,73 **** | |
#if USB_CFG_DESCR_PROPS_STRING_0 == 0 | |
#undef USB_CFG_DESCR_PROPS_STRING_0 | |
#define USB_CFG_DESCR_PROPS_STRING_0 sizeof(usbDescriptorString0) | |
! PROGMEM char usbDescriptorString0[] = { /* language descriptor */ | |
4, /* sizeof(usbDescriptorString0): length of descriptor in bytes */ | |
3, /* descriptor type */ | |
0x09, 0x04, /* language index (0x0409 = US-English) */ | |
--- 67,73 ---- | |
#if USB_CFG_DESCR_PROPS_STRING_0 == 0 | |
#undef USB_CFG_DESCR_PROPS_STRING_0 | |
#define USB_CFG_DESCR_PROPS_STRING_0 sizeof(usbDescriptorString0) | |
! PROGMEM const char usbDescriptorString0[] = { /* language descriptor */ | |
4, /* sizeof(usbDescriptorString0): length of descriptor in bytes */ | |
3, /* descriptor type */ | |
0x09, 0x04, /* language index (0x0409 = US-English) */ | |
*************** | |
*** 77,83 **** | |
#if USB_CFG_DESCR_PROPS_STRING_VENDOR == 0 && USB_CFG_VENDOR_NAME_LEN | |
#undef USB_CFG_DESCR_PROPS_STRING_VENDOR | |
#define USB_CFG_DESCR_PROPS_STRING_VENDOR sizeof(usbDescriptorStringVendor) | |
! PROGMEM int usbDescriptorStringVendor[] = { | |
USB_STRING_DESCRIPTOR_HEADER(USB_CFG_VENDOR_NAME_LEN), | |
USB_CFG_VENDOR_NAME | |
}; | |
--- 77,83 ---- | |
#if USB_CFG_DESCR_PROPS_STRING_VENDOR == 0 && USB_CFG_VENDOR_NAME_LEN | |
#undef USB_CFG_DESCR_PROPS_STRING_VENDOR | |
#define USB_CFG_DESCR_PROPS_STRING_VENDOR sizeof(usbDescriptorStringVendor) | |
! PROGMEM const int usbDescriptorStringVendor[] = { | |
USB_STRING_DESCRIPTOR_HEADER(USB_CFG_VENDOR_NAME_LEN), | |
USB_CFG_VENDOR_NAME | |
}; | |
*************** | |
*** 86,92 **** | |
#if USB_CFG_DESCR_PROPS_STRING_PRODUCT == 0 && USB_CFG_DEVICE_NAME_LEN | |
#undef USB_CFG_DESCR_PROPS_STRING_PRODUCT | |
#define USB_CFG_DESCR_PROPS_STRING_PRODUCT sizeof(usbDescriptorStringDevice) | |
! PROGMEM int usbDescriptorStringDevice[] = { | |
USB_STRING_DESCRIPTOR_HEADER(USB_CFG_DEVICE_NAME_LEN), | |
USB_CFG_DEVICE_NAME | |
}; | |
--- 86,92 ---- | |
#if USB_CFG_DESCR_PROPS_STRING_PRODUCT == 0 && USB_CFG_DEVICE_NAME_LEN | |
#undef USB_CFG_DESCR_PROPS_STRING_PRODUCT | |
#define USB_CFG_DESCR_PROPS_STRING_PRODUCT sizeof(usbDescriptorStringDevice) | |
! PROGMEM const int usbDescriptorStringDevice[] = { | |
USB_STRING_DESCRIPTOR_HEADER(USB_CFG_DEVICE_NAME_LEN), | |
USB_CFG_DEVICE_NAME | |
}; | |
*************** | |
*** 95,101 **** | |
#if USB_CFG_DESCR_PROPS_STRING_SERIAL_NUMBER == 0 && USB_CFG_SERIAL_NUMBER_LEN | |
#undef USB_CFG_DESCR_PROPS_STRING_SERIAL_NUMBER | |
#define USB_CFG_DESCR_PROPS_STRING_SERIAL_NUMBER sizeof(usbDescriptorStringSerialNumber) | |
! PROGMEM int usbDescriptorStringSerialNumber[] = { | |
USB_STRING_DESCRIPTOR_HEADER(USB_CFG_SERIAL_NUMBER_LEN), | |
USB_CFG_SERIAL_NUMBER | |
}; | |
--- 95,101 ---- | |
#if USB_CFG_DESCR_PROPS_STRING_SERIAL_NUMBER == 0 && USB_CFG_SERIAL_NUMBER_LEN | |
#undef USB_CFG_DESCR_PROPS_STRING_SERIAL_NUMBER | |
#define USB_CFG_DESCR_PROPS_STRING_SERIAL_NUMBER sizeof(usbDescriptorStringSerialNumber) | |
! PROGMEM const int usbDescriptorStringSerialNumber[] = { | |
USB_STRING_DESCRIPTOR_HEADER(USB_CFG_SERIAL_NUMBER_LEN), | |
USB_CFG_SERIAL_NUMBER | |
}; | |
*************** | |
*** 108,114 **** | |
#if USB_CFG_DESCR_PROPS_DEVICE == 0 | |
#undef USB_CFG_DESCR_PROPS_DEVICE | |
#define USB_CFG_DESCR_PROPS_DEVICE sizeof(usbDescriptorDevice) | |
! PROGMEM char usbDescriptorDevice[] = { /* USB device descriptor */ | |
18, /* sizeof(usbDescriptorDevice): length of descriptor in bytes */ | |
USBDESCR_DEVICE, /* descriptor type */ | |
0x10, 0x01, /* USB version supported */ | |
--- 108,114 ---- | |
#if USB_CFG_DESCR_PROPS_DEVICE == 0 | |
#undef USB_CFG_DESCR_PROPS_DEVICE | |
#define USB_CFG_DESCR_PROPS_DEVICE sizeof(usbDescriptorDevice) | |
! PROGMEM const char usbDescriptorDevice[] = { /* USB device descriptor */ | |
18, /* sizeof(usbDescriptorDevice): length of descriptor in bytes */ | |
USBDESCR_DEVICE, /* descriptor type */ | |
0x10, 0x01, /* USB version supported */ | |
*************** | |
*** 139,145 **** | |
#if USB_CFG_DESCR_PROPS_CONFIGURATION == 0 | |
#undef USB_CFG_DESCR_PROPS_CONFIGURATION | |
#define USB_CFG_DESCR_PROPS_CONFIGURATION sizeof(usbDescriptorConfiguration) | |
! PROGMEM char usbDescriptorConfiguration[] = { /* USB configuration descriptor */ | |
9, /* sizeof(usbDescriptorConfiguration): length of descriptor in bytes */ | |
USBDESCR_CONFIG, /* descriptor type */ | |
18 + 7 * USB_CFG_HAVE_INTRIN_ENDPOINT + 7 * USB_CFG_HAVE_INTRIN_ENDPOINT3 + | |
--- 139,145 ---- | |
#if USB_CFG_DESCR_PROPS_CONFIGURATION == 0 | |
#undef USB_CFG_DESCR_PROPS_CONFIGURATION | |
#define USB_CFG_DESCR_PROPS_CONFIGURATION sizeof(usbDescriptorConfiguration) | |
! PROGMEM const char usbDescriptorConfiguration[] = { /* USB configuration descriptor */ | |
9, /* sizeof(usbDescriptorConfiguration): length of descriptor in bytes */ | |
USBDESCR_CONFIG, /* descriptor type */ | |
18 + 7 * USB_CFG_HAVE_INTRIN_ENDPOINT + 7 * USB_CFG_HAVE_INTRIN_ENDPOINT3 + | |
diff -cr usbasp.2011-05-28/firmware/usbdrv/usbdrv.h usbasp.2023-02-18/firmware/usbdrv/usbdrv.h | |
*** usbasp.2011-05-28/firmware/usbdrv/usbdrv.h 2011-01-20 02:17:36.000000000 +0900 | |
--- usbasp.2023-02-18/firmware/usbdrv/usbdrv.h 2023-02-18 13:34:14.000000000 +0900 | |
*************** | |
*** 452,494 **** | |
#if !(USB_CFG_DESCR_PROPS_DEVICE & USB_PROP_IS_RAM) | |
PROGMEM | |
#endif | |
! char usbDescriptorDevice[]; | |
extern | |
#if !(USB_CFG_DESCR_PROPS_CONFIGURATION & USB_PROP_IS_RAM) | |
PROGMEM | |
#endif | |
! char usbDescriptorConfiguration[]; | |
extern | |
#if !(USB_CFG_DESCR_PROPS_HID_REPORT & USB_PROP_IS_RAM) | |
PROGMEM | |
#endif | |
! char usbDescriptorHidReport[]; | |
extern | |
#if !(USB_CFG_DESCR_PROPS_STRING_0 & USB_PROP_IS_RAM) | |
PROGMEM | |
#endif | |
! char usbDescriptorString0[]; | |
extern | |
#if !(USB_CFG_DESCR_PROPS_STRING_VENDOR & USB_PROP_IS_RAM) | |
PROGMEM | |
#endif | |
! int usbDescriptorStringVendor[]; | |
extern | |
#if !(USB_CFG_DESCR_PROPS_STRING_PRODUCT & USB_PROP_IS_RAM) | |
PROGMEM | |
#endif | |
! int usbDescriptorStringDevice[]; | |
extern | |
#if !(USB_CFG_DESCR_PROPS_STRING_SERIAL_NUMBER & USB_PROP_IS_RAM) | |
PROGMEM | |
#endif | |
! int usbDescriptorStringSerialNumber[]; | |
#endif /* __ASSEMBLER__ */ | |
--- 452,494 ---- | |
#if !(USB_CFG_DESCR_PROPS_DEVICE & USB_PROP_IS_RAM) | |
PROGMEM | |
#endif | |
! const char usbDescriptorDevice[]; | |
extern | |
#if !(USB_CFG_DESCR_PROPS_CONFIGURATION & USB_PROP_IS_RAM) | |
PROGMEM | |
#endif | |
! const char usbDescriptorConfiguration[]; | |
extern | |
#if !(USB_CFG_DESCR_PROPS_HID_REPORT & USB_PROP_IS_RAM) | |
PROGMEM | |
#endif | |
! const char usbDescriptorHidReport[]; | |
extern | |
#if !(USB_CFG_DESCR_PROPS_STRING_0 & USB_PROP_IS_RAM) | |
PROGMEM | |
#endif | |
! const char usbDescriptorString0[]; | |
extern | |
#if !(USB_CFG_DESCR_PROPS_STRING_VENDOR & USB_PROP_IS_RAM) | |
PROGMEM | |
#endif | |
! const int usbDescriptorStringVendor[]; | |
extern | |
#if !(USB_CFG_DESCR_PROPS_STRING_PRODUCT & USB_PROP_IS_RAM) | |
PROGMEM | |
#endif | |
! const int usbDescriptorStringDevice[]; | |
extern | |
#if !(USB_CFG_DESCR_PROPS_STRING_SERIAL_NUMBER & USB_PROP_IS_RAM) | |
PROGMEM | |
#endif | |
! const int usbDescriptorStringSerialNumber[]; | |
#endif /* __ASSEMBLER__ */ | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
:100000003BC0D3C154C053C052C051C050C04FC0F8 | |
:100010004EC04DC04CC04BC04AC049C048C047C08C | |
:1000200046C045C044C00902120001010080190900 | |
:10003000040000000000000012011001FF00000891 | |
:10004000C016DC050401010200010E035500530037 | |
:1000500042006100730070001C0377007700770096 | |
:100060002E00660069007300630068006C002E00BB | |
:10007000640065000403090411241FBECFE5D4E029 | |
:10008000DEBFCDBF10E0A0E6B0E0EAE9F1E102C0DA | |
:1000900005900D92A236B107D9F720E0A2E6B0E0B4 | |
:1000A00001C01D92AA3AB207E1F766D874C8A8CF7A | |
:1000B0001F93CF93DF9360918800635067FF49C01F | |
:1000C0008091610084FF04C0109160001F3F61F4C3 | |
:1000D00094E103C0915009F450C086B38370D1F30A | |
:1000E000DF91CF911F9108958091780098E889273A | |
:1000F000193008F44AC0C8EFC10FC0936000809364 | |
:10010000780018E08091620087FDA0C0E091860031 | |
:10011000F091870086FF78C0A9E7B0E08FEF810FEC | |
:1001200090E001968E0F9F1F24912D933196E81732 | |
:10013000F907D1F7F0938700E0938600612F89E7F4 | |
:1001400090E02FD1C4E0C10FCC3051F5C0936100D5 | |
:10015000BFCF209185008CE090E0821B9109EC01DB | |
:10016000C457DF4F809184008D32F1F0809162009E | |
:1001700087FD40C010928800A3CF10928900109292 | |
:100180008300DF91CF911F910895109260008093BA | |
:1001900078001111B7CF60E089E790E002D1C4E0A8 | |
:1001A0009FEF90936000D2CF683021F783EC80936B | |
:1001B00078008AE5809361001092620088818076E1 | |
:1001C000D1F52A81109281009981911152C010922B | |
:1001D000820081E890E0909387008093860082E01F | |
:1001E0009F81911104C09E81981708F4892F8093F4 | |
:1001F0006000C0CFCE01E5D68F3FB9F1882309F466 | |
:10020000B9CF10926000B6CFDF0189E790E06FEFC1 | |
:10021000610F70E0AF014F5F5F4F460F571F2D9189 | |
:10022000EC012993CE014A175B07C9F76F5F7F4F37 | |
:10023000E60FF71F7FCFCE01BED48F3F89F698819E | |
:1002400097FD8E8190E890936200D1CF612F89E76E | |
:1002500090E03DD6182F893008F470CF8FEF80934F | |
:100260006000CEE1C093610033CF8EE180936100E6 | |
:1002700081CF953079F09630B1F09830F9F099301F | |
:1002800029F19A30C9F121E830E0309387002093BA | |
:100290008600ADCF2093890021E830E030938700BD | |
:1002A00020938600A4CF9B819130C9F1923061F1F7 | |
:1002B0009330A9F090E49093620099CF8BE890E09E | |
:1002C000909387008093860081E08ACF20938B00F3 | |
:1002D00021E830E0309387002093860088CF2111F9 | |
:1002E00029C084E790E0909387008093860080E4A3 | |
:1002F0008093620084E074CF81E890E0909387005F | |
:100300008093860081E06CCF86E290E09093870036 | |
:100310008093860080E48093620082E161CF88E36D | |
:1003200090E0909387008093860080E48093620041 | |
:1003300082E156CF213071F0223009F0BBCF8AE440 | |
:1003400090E0909387008093860080E48093620021 | |
:100350008EE046CF88E590E09093870080938600FA | |
:1003600080E4809362008CE13BCF85B7836085BFDA | |
:100370008BB780648BBF0895A82FB92F80E090E0E1 | |
:1003800041E050EA609530E009C02D9182279795B1 | |
:10039000879510F084279527305EC8F36F5FA8F328 | |
:1003A0000895EADF8D939D930895CF93CFB7CF93B0 | |
:1003B000C395B09BE9F7B09B09C0B09B07C0B09B49 | |
:1003C00005C0B09B03C0B09B01C0A1C0DF93C0912A | |
:1003D0008500DD27C457DF4FB09B02C0DF91EBCF14 | |
:1003E0002F930F931F9306B32FEF00FB20F94F932A | |
:1003F0003F9316B34FEF012700FB21F93BE031C0DB | |
:100400004E7F012F16B3216028C0102F4D7F226030 | |
:10041000000006B329C04B7F2460012F000016B3F3 | |
:100420002BC016B3477F28602AC04F7E06B32061D9 | |
:100430002CC04F7D16B320622FC04F7B06B32064C3 | |
:1004400032C0422706B349934FEF0000102710FB3C | |
:1004500020F916B31370C9F1297F91F2012700FB2F | |
:1004600021F906B3237F89F2315058F1102710FB90 | |
:1004700022F916B3277E79F2012700FB23F92F7C9E | |
:1004800081F206B3102710FB24F92F7971F200C016 | |
:1004900016B3012700FB25F92F7359F200C006B3EC | |
:1004A000102710FB26F9223040F200C016B30127B6 | |
:1004B00000FB27F9243028F64F77206816B3000098 | |
:1004C000F9CF10E41ABF002717C03B503195C31B6A | |
:1004D000D04010E41ABF0881033CE9F00B34D9F096 | |
:1004E000209183001981110F1213EDCF093641F1CC | |
:1004F0000D3211F0013E39F700938A003F914F9180 | |
:100500001F910F912F91DF91CAB7C6FD51CFCF91A7 | |
:10051000CFBFCF91189520918A00222379F31091B3 | |
:100520008800112311F5343012F1309388002093A4 | |
:100530008400109185003BE0311B3093850017C08B | |
:100540000091880001308CF40AE53091610034FD9F | |
:1005500010C000936100C8E7D0E00FC02795A8F451 | |
:100560005150A9F4220F0000F9CF4AE503C042ED33 | |
:1005700001C0432FC4E1D0E032E017B31360C09A4A | |
:1005800017BB08B320E413E05F93012756E008BBD4 | |
:10059000279520F4515021F4220FF9CF012756E07E | |
:1005A00000003B5A08BBD0F2279528F4515029F49B | |
:1005B000220F0000F9CF012756E0279508BB20F451 | |
:1005C000515021F4220FF9CF012756E0299133230E | |
:1005D00008BB21F60C7F10918900110FC651D04045 | |
:1005E00008BB11F01093830010E41ABF016017B329 | |
:1005F0001C7F402F4C7F5F9100C000C008BB17BB21 | |
:1006000048BB7CCF582F48E080E057FD18C0C39806 | |
:10061000550F880FB4998F5F32B72091A70092B71A | |
:10062000931B9217E0F3C59A32B72091A70092B7B7 | |
:10063000931B9217E0F3C598415039F70895C39A78 | |
:10064000E7CF8FB9779BFECF8FB10895DC01CB0147 | |
:1006500021E1B695A795979587952A95D1F7209191 | |
:10066000A6002817D9F08093A600E091A300F0918E | |
:10067000A4008DE40995E091A300F091A40080E02E | |
:100680000995E091A300F091A4008091A60009953E | |
:10069000E091A300F091A40080E009940895809176 | |
:1006A000A5008DB98091A2008EB90895811110C066 | |
:1006B00081E293E09093A4008093A30081E0809373 | |
:1006C000A70082E58093A50081E08093A2000895B1 | |
:1006D000883098F422E033E03093A4002093A30004 | |
:1006E000843009F441C008F1863099F1C8F18730AF | |
:1006F00079F583E08093A700089521E233E03093F9 | |
:10070000A4002093A3001092A20091E09093A70070 | |
:10071000893099F0B0F08B3021F08C3091F69093C5 | |
:10072000A20081E58093A50008958230A9F083306E | |
:1007300079F480E38093A700089582E58093A50073 | |
:100740000895883009F0BDCF83E58093A500089512 | |
:1007500080EC8093A700089580E68093A700089519 | |
:100760008CE08093A700089588E18093A700089506 | |
:1007700022B79091A70082B7821B8917E0F30895F2 | |
:1007800087B38C6287BBC298C59822B79091A700A7 | |
:1007900082B7821B8917E0F3C29A22B79091A70013 | |
:1007A00082B7821B8917E0F3C2988091A3009091D1 | |
:1007B000A4008152934031F48091A5008DB98091BD | |
:1007C000A2008EB91092A600089587B3837D87BBDF | |
:1007D00088B3837D88BB1DB80895CF93DF93C0E2B3 | |
:1007E000E091A300F091A4008CEA0995E091A300A8 | |
:1007F000F091A40083E50995E091A300F091A40095 | |
:1008000080E00995D82FE091A300F091A40080E04A | |
:100810000995D33561F11DB822B79091A70082B731 | |
:10082000821B8917E0F3C29A22B79091A70082B782 | |
:10083000821B8917E0F3C29822B79091A70082B774 | |
:10084000821B8917E0F38091A3009091A40081524C | |
:10085000934031F0C15021F681E0DF91CF910895AE | |
:100860008091A5008DB98091A2008EB9F3CF80E070 | |
:10087000DF91CF910895CF92DF92EF92FF926B01BB | |
:100880007C01E4DE8C2D880F880F880F8870E09142 | |
:10089000A300F091A40080620995D701C60129E068 | |
:1008A000B695A795979587952A95D1F7E091A300DE | |
:1008B000F091A4000995D701C601B695A795979523 | |
:1008C0008795E091A300F091A4000995E091A30021 | |
:1008D000F091A40080E0FF90EF90DF90CF9009941A | |
:1008E000CF92DF92EF92FF92CF93DF936B017C0167 | |
:1008F000C42FD22FABDE8C2D880F880F880F887005 | |
:10090000E091A300F091A40080640995D701C6018D | |
:1009100029E0B695A795979587952A95D1F7E09107 | |
:10092000A300F091A4000995D701C601B695A7953B | |
:1009300097958795E091A300F091A4000995E09127 | |
:10094000A300F091A4008C2F0995DD23C1F0CF37CF | |
:10095000F1F0C2B7DEE1C701B6018DDF8F3779F460 | |
:1009600082B78C1B8D33B8F3C2B7D150A1F781E0A9 | |
:10097000DF91CF91FF90EF90DF90CF90089580E0CE | |
:10098000DF91CF91FF90EF90DF90CF9008958FE0AF | |
:100990009DD080E0F5CFCF92DF92EF92FF92CF9380 | |
:1009A000DF936B017C01C42F51DEE091A300F09135 | |
:1009B000A4008CE40995D701C60129E0B695A79556 | |
:1009C000979587952A95D1F7E091A300F091A4001F | |
:1009D0000995D701C601B695A79597958795E0919A | |
:1009E000A300F091A4000995E091A300F091A40068 | |
:1009F00080E00995CF3FF1F0C2B7DEE1C701B60153 | |
:100A00003ADF8F3F79F482B78C1B8D33B8F3C2B7CE | |
:100A1000D150A1F781E0DF91CF91FF90EF90DF906F | |
:100A2000CF90089580E0DF91CF91FF90EF90DF901D | |
:100A3000CF9008958FE04AD080E0DF91CF91FF9072 | |
:100A4000EF90DF90CF900895CF93DF93EC01E0918A | |
:100A5000A300F091A40080EA0995E091A300F09131 | |
:100A6000A4008D2F0995E091A300F091A4008C2F94 | |
:100A70000995E091A300F091A40080E0DF91CF916F | |
:100A800009941F93CF93DF93D82F192FC62FE0918E | |
:100A9000A300F091A40080EC0995E091A300F091EF | |
:100AA000A400812F0995E091A300F091A4008D2F5F | |
:100AB0000995E091A300F091A4008C2F09958EE197 | |
:100AC00005D080E0DF91CF911F910895882349F0F0 | |
:100AD00030E022B792B7921B9C33E0F33F5F831361 | |
:100AE000F8CF0895BD9ABB98C39A50E217D05A9593 | |
:100AF000E9F70895AC0188E605D0842F03D089E694 | |
:100B000001D0852F0FD028E030E0382780FB869574 | |
:100B100006D02A95D1F730FB02D000D06894BB985C | |
:100B2000C39A16F0C398BB9AE091A800F091A9006F | |
:100B30003197F0F7C59AE6B3E3FBE091A800F09196 | |
:100B4000A9003197F0F7C598089520ECE7DF46F447 | |
:100B50002A95E1F780E02AE1E5DF2A95E9F7DECF83 | |
:100B600028E030E0DBDF869587F938272A95D1F732 | |
:100B7000D5DF27F9322772F3D1DFD0CFDB01742F15 | |
:100B8000B9DF84E2BFDFE1DF8D937A95D1F7089575 | |
:100B9000DB01742FAFDF83EFB5DF8DE1B3DF84E6D8 | |
:100BA000B1DF8D91AFDF82E7ADDFCFDF8078D9F79E | |
:100BB0007A9589F70895CF93DF93EC01898181308D | |
:100BC00009F45AC0823009F465C0833051F5E091D0 | |
:100BD000A300F091A4008A81099580937000E091B0 | |
:100BE000A300F091A4008B81099580937100E0919E | |
:100BF000A300F091A4008C81099580937200E0918C | |
:100C0000A300F091A4008D8109958093730084E086 | |
:100C100020E730E03093870020938600DF91CF916A | |
:100C200008958430D9F1873009F45CC0853009F427 | |
:100C300076C0863009F489C0883009F4B9C089309B | |
:100C400009F472C08A3009F446C08B3009F4D3C06D | |
:100C50008C3009F4E1C08D3009F4F3C08E3009F412 | |
:100C6000F5C08F3009F4F6C0803109F40CC18F371C | |
:100C700009F422C180E0CCCF9A9B09C080916E001C | |
:100C800015DD10926D00A9987BDD80E0C1CF85E075 | |
:100C90000DDDF7CF9ADDA99A80E0BACF80916D0083 | |
:100CA00081110EC08A819B81092E000CAA0BBB0BFF | |
:100CB0008093690090936A00A0936B00B0936C00DE | |
:100CC0008E819F81909368008093670082E080937B | |
:100CD0006F008FEF9DCF8A8180936E00109270001D | |
:100CE00081E096CF80916D0081110EC08A819B8139 | |
:100CF000092E000CAA0BBB0B8093690090936A002D | |
:100D0000A0936B00B0936C008E819F8190936800DC | |
:100D10008093670083E080936F008FEF79CF5DDD74 | |
:100D20008093700081E074CF81E080936D008A81B0 | |
:100D30009B81AC81BD818093690090936A00A093F0 | |
:100D40006B00B0936C0080E063CF80916D008111E7 | |
:100D50000EC08A819B81092E000CAA0BBB0B8093CD | |
:100D6000690090936A00A0936B00B0936C008C8133 | |
:100D70002D81922F9F709093640090E1299FA00194 | |
:100D8000112444275F70840F952F911D9093660066 | |
:100D90008093650020FD809363008E819F819093F6 | |
:100DA00068008093670081E080936F008FEF30CF01 | |
:100DB00080916D0081110EC08A819B81092E000CEB | |
:100DC000AA0BBB0B8093690090936A00A0936B0001 | |
:100DD000B0936C001092660010926500109264004F | |
:100DE0008E819F81909368008093670084E0809358 | |
:100DF0006F008FEF0DCF8A819B819093A900809324 | |
:100E0000A800C29ABA9A83E061DEC298A99880E1EC | |
:100E10005DDE68DE80E0FCCE80EC74DE80E072DEB9 | |
:100E20008AE054DEC29A85E051DEC29885E04EDE4B | |
:100E300087B3837D87BB88B3837D88BBA99A80E015 | |
:100E4000E7CE83DE8093700081E0E2CE8A815ADEB5 | |
:100E500080E0DECE8A819B81092E000CAA0BBB0BA1 | |
:100E60008093690090936A00A0936B00B0936C002C | |
:100E70008E819F81909368008093670085E08093C6 | |
:100E80006F008FEFC5CE8A819B81092E000CAA0BC3 | |
:100E9000BB0B8093690090936A00A0936B00B093A2 | |
:100EA0006C008E819F81909368008093670086E03C | |
:100EB00080936F008FEFACCE81E080937000109232 | |
:100EC0007100109272001092730084E0A1CEFF9224 | |
:100ED0000F931F93CF93DF93582F792FF62E2091E6 | |
:100EE0006F003EEF320F323028F18FEF2530E1F402 | |
:100EF000462F652F8091690090916A003FDE8091B6 | |
:100F0000690090916A00A0916B00B0916C008F0D08 | |
:100F1000911DA11DB11D8093690090936A00A0935B | |
:100F20006B00B0936C008F2DDF91CF911F910F91CB | |
:100F3000FF900895662391F18091690090916A0075 | |
:100F4000A0916B00B0916C00C52FD72F0FEF060F4B | |
:100F50000C0F1D2F111D1BC077DD88838091690048 | |
:100F600090916A00A0916B00B0916C000196A11D58 | |
:100F7000B11D8093690090936A00A0936B00B093B9 | |
:100F80006C000C171D0799F020916F0021962230FC | |
:100F900019F7BC01CD016FDC8883E0CF10926F00A0 | |
:100FA0008F2DDF91CF911F910F91FF90089587E0D2 | |
:100FB0008F15A0F78F2DDF91CF911F910F91FF908B | |
:100FC0000895FF920F931F93CF93DF93382F792FBC | |
:100FD000062F20916F002130C9F12430B9F1FF2490 | |
:100FE000FA94263061F5462F682F80916900909120 | |
:100FF0006A00CEDD8091690090916A00A0916B003B | |
:10100000B0916C00800F911DA11DB11D80936900EE | |
:1010100090936A00A0936B00B0936C00809167007E | |
:1010200090916800801B91099093680080936700FD | |
:10103000892B09F099C010926F00FF24F3948F2D33 | |
:10104000DF91CF911F910F91FF900895002309F434 | |
:101050008BC08091690090916A00A0916B00B09163 | |
:101060006C00C32FD72F0150AE014F5F5F4F040FAD | |
:10107000152F111DF12C4991213009F045C0209107 | |
:10108000650030916600232B09F041C021E0BC01CE | |
:10109000CD0126DC20916700309168002150310994 | |
:1010A00030936800209367008091690090916A00F6 | |
:1010B000A0916B00B0916C00232B89F410926F000B | |
:1010C0002091640021FF09C04091630020916500D8 | |
:1010D0003091660042171306B1F5FF24F394019690 | |
:1010E000A11DB11D8093690090936A00A0936B00CD | |
:1010F000B0936C000C171D0709F4A1CF20916F006D | |
:101100004991213009F4BBCF642FBBDCC3CF20E071 | |
:10111000BC01CD01E5DB80916300815080936300C9 | |
:101120008111B8CF6091690070916A0080916B0065 | |
:1011300090916C00FE01319740812DDC809165001B | |
:1011400080936300A7CFFE0131974081BC01CD01A0 | |
:1011500022DC8091690090916A00A0916B00B091AF | |
:101160006C00FF24F394BBCFF12C8F2DDF91CF9136 | |
:101170001F910F91FF90089512BA18BA11BA9FEFFC | |
:1011800097BB17BA83E084BB95BB83BFEED8789436 | |
:0A1190008FD78ED7FDCFF894FFCF64 | |
:02119A00FF5AFA | |
:00000001FF |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment