From 6e221e478ae694be2b112062e16ef5f75f5abe23 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 27 Oct 2019 17:14:28 -0400 Subject: [PATCH] Disassemble trade data --- asm/trade.s | 4 +- data/ingame_trades.inc | 174 +++++++++ data/strings.s | 13 + data/trade.s | 736 ++++++++++++++++++++++++++++++++++--- data/trade/unk_826207C.png | Bin 0 -> 477 bytes data/trade/unk_826407C.bin | Bin 0 -> 2048 bytes data/trade/unk_826499C.pal | 19 + data/trade/unk_8264A1C.png | Bin 0 -> 208 bytes data/trade/unk_8264C1C.png | Bin 0 -> 203 bytes data/trade/unk_8264E1C.png | Bin 0 -> 205 bytes data/trade/unk_826501C.png | Bin 0 -> 183 bytes data/trade/unk_826601C.bin | Bin 0 -> 4096 bytes data/trade/unk_826701C.png | Bin 0 -> 1833 bytes data/trade/unk_826985C.bin | Bin 0 -> 256 bytes data/trade/unk_826995C.bin | Bin 0 -> 256 bytes data/trade/unk_8269A5C.bin | Bin 0 -> 4096 bytes data/trade/unk_826AA5C.bin | Bin 0 -> 4096 bytes data/trade/unk_826BB5C.pal | 19 + data/trade/unk_826BD5C.pal | 19 + data/trade/unk_826BF5C.pal | 19 + data/trade/unk_826C60C.bin | Bin 0 -> 2048 bytes src/daycare.c | 4 +- 22 files changed, 953 insertions(+), 54 deletions(-) create mode 100644 data/ingame_trades.inc create mode 100644 data/trade/unk_826207C.png create mode 100644 data/trade/unk_826407C.bin create mode 100644 data/trade/unk_826499C.pal create mode 100644 data/trade/unk_8264A1C.png create mode 100644 data/trade/unk_8264C1C.png create mode 100644 data/trade/unk_8264E1C.png create mode 100644 data/trade/unk_826501C.png create mode 100644 data/trade/unk_826601C.bin create mode 100644 data/trade/unk_826701C.png create mode 100644 data/trade/unk_826985C.bin create mode 100644 data/trade/unk_826995C.bin create mode 100644 data/trade/unk_8269A5C.bin create mode 100644 data/trade/unk_826AA5C.bin create mode 100644 data/trade/unk_826BB5C.pal create mode 100644 data/trade/unk_826BD5C.pal create mode 100644 data/trade/unk_826BF5C.pal create mode 100644 data/trade/unk_826C60C.bin diff --git a/asm/trade.s b/asm/trade.s index 8a1d1075a..6e5f333ae 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -8800,7 +8800,7 @@ _08050D98: orrs r0, r7 str r0, [r1, 0x8] ldr r0, [r1, 0x8] - ldr r1, _08050DD8 @ =gUnknown_08331F60 + ldr r1, _08050DD8 @ =gUnknown_826601C ldr r2, _08050DDC @ =0x06009000 ldr r0, _08050DD0 @ =0x040000d4 str r1, [r0] @@ -8821,7 +8821,7 @@ _08050DC8: .4byte gTradeGba_Gfx _08050DCC: .4byte 0x06004000 _08050DD0: .4byte 0x040000d4 _08050DD4: .4byte 0x80000800 -_08050DD8: .4byte gUnknown_08331F60 +_08050DD8: .4byte gUnknown_826601C _08050DDC: .4byte 0x06009000 thumb_func_end sub_8050968 diff --git a/data/ingame_trades.inc b/data/ingame_trades.inc new file mode 100644 index 000000000..c3447d79b --- /dev/null +++ b/data/ingame_trades.inc @@ -0,0 +1,174 @@ +gIngameTrades:: @ 826CF8C + .string "MIMIEN$", 11 + .align 1 + .2byte SPECIES_MR_MIME @ species + .byte 20, 15, 17, 24, 23, 22 @ IVs + .byte FALSE @ has second ability + .align 2 + .4byte 1985 @ OT ID + .byte 5, 5, 5, 30, 5 @ contest stats + .align 2 + .4byte 0x00009cae @ personality + .2byte ITEM_NONE @ held item + .byte 255 @ mail index + .string "REYLEY$", 11 + .byte MALE @ OT gender + .byte 10 @ sheen + .2byte SPECIES_ABRA @ species requested + .align 2 + + .string "ZYNX$", 11 + .align 1 + .2byte SPECIES_JYNX @ species + .byte 18, 17, 18, 22, 25, 21 @ IVs + .byte FALSE @ has second ability + .align 2 + .4byte 36728 @ OT ID + .byte 5, 30, 5, 5, 5 @ contest stats + .align 2 + .4byte 0x498a2e1d @ personality + .2byte ITEM_FAB_MAIL @ held item + .byte 0 @ mail index + .string "DONTAE$", 11 + .byte MALE @ OT gender + .byte 10 @ sheen + .2byte SPECIES_POLIWHIRL @ species requested + .align 2 + + .string "MS. NIDO$", 11 + .align 1 + .2byte SPECIES_NIDORAN_F @ species + .byte 22, 18, 25, 19, 15, 22 @ IVs + .byte FALSE @ has second ability + .align 2 + .4byte 63184 @ OT ID + .byte 5, 5, 5, 5, 30 @ contest stats + .align 2 + .4byte 0x4c970b89 @ personality + .2byte ITEM_TINY_MUSHROOM @ held item + .byte 255 @ mail index + .string "SAIGE$", 11 + .byte FEMALE @ OT gender + .byte 10 @ sheen + .2byte SPECIES_NIDORAN_M @ species requested + .align 2 + + .string "CH'DING$", 11 + .align 1 + .2byte SPECIES_FARFETCHD @ species + .byte 20, 25, 21, 24, 15, 20 @ IVs + .byte FALSE @ has second ability + .align 2 + .4byte 8810 @ OT ID + .byte 30, 5, 5, 5, 5 @ contest stats + .align 2 + .4byte 0x151943d7 @ personality + .2byte ITEM_STICK @ held item + .byte 255 @ mail index + .string "ELYSSA$", 11 + .byte MALE @ OT gender + .byte 10 @ sheen + .2byte SPECIES_SPEAROW @ species requested + .align 2 + + .string "NINA$", 11 + .align 1 + .2byte SPECIES_NIDORINA @ species + .byte 22, 25, 18, 19, 22, 15 @ IVs + .byte FALSE @ has second ability + .align 2 + .4byte 13637 @ OT ID + .byte 5, 5, 30, 5, 5 @ contest stats + .align 2 + .4byte 0x00eeca15 @ personality + .2byte ITEM_NONE @ held item + .byte 255 @ mail index + .string "TURNER$", 11 + .byte MALE @ OT gender + .byte 10 @ sheen + .2byte SPECIES_NIDORINO @ species requested + .align 2 + + .string "MARC$", 11 + .align 1 + .2byte SPECIES_LICKITUNG @ species + .byte 24, 19, 21, 15, 23, 21 @ IVs + .byte FALSE @ has second ability + .align 2 + .4byte 1239 @ OT ID + .byte 5, 5, 5, 5, 30 @ contest stats + .align 2 + .4byte 0x451308ab @ personality + .2byte ITEM_NONE @ held item + .byte 255 @ mail index + .string "HADEN$", 11 + .byte MALE @ OT gender + .byte 10 @ sheen + .2byte SPECIES_GOLDUCK @ species requested + .align 2 + + .string "ESPHERE$", 11 + .align 1 + .2byte SPECIES_ELECTRODE @ species + .byte 19, 16, 18, 25, 25, 19 @ IVs + .byte TRUE @ has second ability + .align 2 + .4byte 50298 @ OT ID + .byte 30, 5, 5, 5, 5 @ contest stats + .align 2 + .4byte 0x06341016 @ personality + .2byte ITEM_NONE @ held item + .byte 255 @ mail index + .string "CLIFTON$", 11 + .byte MALE @ OT gender + .byte 10 @ sheen + .2byte SPECIES_RAICHU @ species requested + .align 2 + + .string "TANGENY$", 11 + .align 1 + .2byte SPECIES_TANGELA @ species + .byte 22, 17, 25, 16, 23, 20 @ IVs + .byte FALSE @ has second ability + .align 2 + .4byte 60042 @ OT ID + .byte 5, 5, 30, 5, 5 @ contest stats + .align 2 + .4byte 0x5c77ecfa @ personality + .2byte ITEM_STARDUST @ held item + .byte 255 @ mail index + .string "NORMA$", 11 + .byte FEMALE @ OT gender + .byte 10 @ sheen + .2byte SPECIES_VENONAT @ species requested + .align 2 + + .string "SEELOR$", 11 + .align 1 + .2byte SPECIES_SEEL @ species + .byte 24, 15, 22, 16, 23, 22 @ IVs + .byte FALSE @ has second ability + .align 2 + .4byte 9853 @ OT ID + .byte 5, 5, 5, 5, 30 @ contest stats + .align 2 + .4byte 0x482cac89 @ personality + .2byte ITEM_NONE @ held item + .byte 255 @ mail index + .string "GARETT$", 11 + .byte MALE @ OT gender + .byte 10 @ sheen + .2byte SPECIES_PONYTA @ species requested + .align 2 + +gUnknown_826D1A8:: @ 826D1A8 + .2byte EC_WORD_THAT_S + .2byte EC_WORD_A + .2byte EC_WORD_HEALTHY + .2byte EC_POKEMON2(JYNX) + .2byte EC_WORD_EXCL + .2byte EC_WORD_BE + .2byte EC_WORD_KIND + .2byte EC_WORD_TO + .2byte EC_WORD_IT + .2byte 0 diff --git a/data/strings.s b/data/strings.s index 16666410c..5305352b7 100644 --- a/data/strings.s +++ b/data/strings.s @@ -4359,33 +4359,46 @@ gUnknown_841E09F:: @ 841E09F gUnknown_841E0A5:: @ 841E0A5 .string "Is this trade okay?$" +gUnknown_841E0B9:: .string "CANCEL$" +gUnknown_841E0C0:: .string "Choose a POKéMON.$" +gUnknown_841E0D2:: .string "SUMMARY$" +gUnknown_841E0DA:: .string "TRADE$" +gUnknown_841E0E0:: .string "Cancel trade?$" +gUnknown_841E0EE:: .string "Press the B Button to exit.$" +gUnknown_841E10A:: .string "SUMMARY$" +gUnknown_841E112:: .string "TRADE$" +gUnknown_841E118:: .string "{COLOR RED}{HIGHLIGHT DARK_GREY}{SHADOW GREEN}Communication standby…\n" .string "Please wait.$" +gUnknown_841E145:: .string "{COLOR RED}{HIGHLIGHT DARK_GREY}{SHADOW GREEN}The trade has been canceled.$" +gUnknown_841E16B:: .string "{COLOR RED}{HIGHLIGHT DARK_GREY}{SHADOW GREEN}That's your only POKéMON\n" .string "for battle.$" +gUnknown_841E199:: .string "{COLOR RED}{HIGHLIGHT DARK_GREY}{SHADOW GREEN}Waiting for your friend\n" .string "to finish…$" +gUnknown_841E1C5:: .string "Your friend wants\n" .string "to trade POKéMON.$" diff --git a/data/trade.s b/data/trade.s index 06ee748ce..2e06ee69e 100644 --- a/data/trade.s +++ b/data/trade.s @@ -1,11 +1,23 @@ +#include "constants/items.h" +#include "constants/species.h" +#include "constants/easy_chat.h" +#define RGB(r, g, b) ((r) | ((g) << 5) | ((b) << 10)) .include "asm/macros.inc" .include "constants/constants.inc" .section .rodata .align 2, 0 + @ unknown gUnknown_8260814:: @ 8260814 - .incbin "baserom.gba", 0x260814, 0x20 + .4byte 0x00000f24 @ sizeof(struct SaveBlock2) + .4byte 0x00003d68 @ sizeof(struct SaveBlock1) + .4byte 0x0000001c @ sizeof(struct MapData) + .4byte 0x00000530 @ unk + .4byte 0x00000034 @ unk + .4byte 0x00000024 @ sizeof(struct MailStruct) + .4byte 0x00000064 @ sizeof(struct Pokemon) + .4byte 0x00000528 gUnknown_8260834:: @ 8260834 .incbin "data/trade/unk_8260834.bin" @@ -20,7 +32,7 @@ gUnknown_8261430:: @ 8261430 .incbin "data/trade/unk_8261430.bin" gOamdata_8261C30:: - .incbin "baserom.gba", 0x261C30, 0x8 + .4byte 0x80004000, 0x00000400 gOamData_8261C38:: .4byte 0xc0004000, 0x00000400 @@ -189,6 +201,7 @@ gUnknown_8261E72:: @ 8261E72 .byte 0x08, 0x08 .byte 0x01, 0x0d .byte 0x08, 0x0d + .byte 0x10, 0x03 .byte 0x17, 0x03 .byte 0x10, 0x08 @@ -201,7 +214,15 @@ gTradeUnknownSpriteCoords:: @ 8261E8A .byte 0x30, 0x09, 0xa8, 0x09 gUnknown_8261E92:: - .incbin "baserom.gba", 0x261E92, 0x24 + .byte 0x00, 0x0e, 0x0f, 0x1d + .byte 0x03, 0x05, 0x03, 0x07 + .byte 0x12, 0x05, 0x12, 0x07 + .byte 0x08, 0x07, 0x16, 0x0c + .byte 0x08, 0x07, 0x16, 0x0c + .byte 0x06, 0x07, 0x18, 0x0c + .byte 0x06, 0x07, 0x18, 0x0c + .byte 0x08, 0x07, 0x16, 0x0c + .byte 0x07, 0x07, 0x17, 0x0c gUnknown_8261EB6:: @ 8261EB6 .string "$" @@ -229,137 +250,752 @@ gUnknown_8261EC9:: .align 2 gUnknown_8261ECC:: @ 8261ECC - .incbin "baserom.gba", 0x261ECC, 0x18 + .4byte gUnknown_841E0B9 + .4byte gUnknown_841E0C0 + .4byte gUnknown_841E0D2 + .4byte gUnknown_841E0DA + .4byte gUnknown_841E0E0 + .4byte gUnknown_841E0EE gUnknown_8261EE4:: @ 8261EE4 - .incbin "baserom.gba", 0x261EE4, 0x10 + .4byte gUnknown_841E10A, sub_804F440 + .4byte gUnknown_841E112, sub_804F464 gUnknown_8261EF4:: @ 8261EF4 - .incbin "baserom.gba", 0x261EF4, 0x24 + .4byte gUnknown_841E118 + .4byte gUnknown_841E145 + .4byte gUnknown_841E16B + .4byte gUnknown_8417094 + .4byte gUnknown_841E199 + .4byte gUnknown_841E1C5 + .4byte gUnknown_84170BC + .4byte gUnknown_84170E0 + .4byte gUnknown_84170FC gUnknown_8261F18:: @ 8261F18 - .incbin "baserom.gba", 0x261F18, 0x4 + .byte 0, 1, 2 + .align 2 gUnknown_8261F1C:: @ 8261F1C - .incbin "baserom.gba", 0x261F1C, 0x10 + .4byte 0x000001f8 + @ { + @ .bg = 0, + @ .charBaseIndex = 2, + @ .mapBaseIndex = 31, + @ .screenSize = 0, + @ .paletteMode = 0, + @ .priority = 0, + @ .baseTile = 0x0000 + @ } + .4byte 0x00001051 + @ { + @ .bg = 1, + @ .charBaseIndex = 0, + @ .mapBaseIndex = 5, + @ .screenSize = 0, + @ .paletteMode = 0, + @ .priority = 1, + @ .baseTile = 0x0000 + @ } + .4byte 0x00002062 + @ { + @ .bg = 2, + @ .charBaseIndex = 0, + @ .mapBaseIndex = 6, + @ .screenSize = 0, + @ .paletteMode = 0, + @ .priority = 2, + @ .baseTile = 0x0000 + @ } + .4byte 0x00003073 + @ { + @ .bg = 3, + @ .charBaseIndex = 0, + @ .mapBaseIndex = 7, + @ .screenSize = 0, + @ .paletteMode = 0, + @ .priority = 3, + @ .baseTile = 0x0000 + @ } gUnknown_8261F2C:: @ 8261F2C - .incbin "baserom.gba", 0x261F2C, 0x98 + .byte 0, 4, 7, 22, 4, 15 + .2byte 0x001e + @ { + @ .bg = 0, + @ .tilemapLeft = 4, + @ .tilemapTop = 7, + @ .width = 22, + @ .height = 4, + @ .paletteNum = 15, + @ .baseBlock = 0x001e + @ } + .byte 0, 17, 15, 12, 4, 15 + .2byte 0x0076 + @ { + @ .bg = 0, + @ .tilemapLeft = 17, + @ .tilemapTop = 15, + @ .width = 12, + @ .height = 4, + @ .paletteNum = 15, + @ .baseBlock = 0x0076 + @ } + .byte 0, 0, 5, 8, 2, 13 + .2byte 0x00a6 + @ { + @ .bg = 0, + @ .tilemapLeft = 0, + @ .tilemapTop = 5, + @ .width = 8, + @ .height = 2, + @ .paletteNum = 13, + @ .baseBlock = 0x00a6 + @ } + .byte 0, 7, 5, 8, 2, 13 + .2byte 0x00b6 + @ { + @ .bg = 0, + @ .tilemapLeft = 7, + @ .tilemapTop = 5, + @ .width = 8, + @ .height = 2, + @ .paletteNum = 13, + @ .baseBlock = 0x00b6 + @ } + .byte 0, 0, 10, 8, 2, 13 + .2byte 0x00c6 + @ { + @ .bg = 0, + @ .tilemapLeft = 0, + @ .tilemapTop = 10, + @ .width = 8, + @ .height = 2, + @ .paletteNum = 13, + @ .baseBlock = 0x00c6 + @ } + .byte 0, 7, 10, 8, 2, 13 + .2byte 0x00d6 + @ { + @ .bg = 0, + @ .tilemapLeft = 7, + @ .tilemapTop = 10, + @ .width = 8, + @ .height = 2, + @ .paletteNum = 13, + @ .baseBlock = 0x00d6 + @ } + .byte 0, 0, 15, 8, 2, 13 + .2byte 0x00e6 + @ { + @ .bg = 0, + @ .tilemapLeft = 0, + @ .tilemapTop = 15, + @ .width = 8, + @ .height = 2, + @ .paletteNum = 13, + @ .baseBlock = 0x00e6 + @ } + .byte 0, 7, 15, 8, 2, 13 + .2byte 0x00f6 + @ { + @ .bg = 0, + @ .tilemapLeft = 7, + @ .tilemapTop = 15, + @ .width = 8, + @ .height = 2, + @ .paletteNum = 13, + @ .baseBlock = 0x00f6 + @ } + .byte 0, 15, 5, 8, 2, 13 + .2byte 0x0106 + @ { + @ .bg = 0, + @ .tilemapLeft = 15, + @ .tilemapTop = 5, + @ .width = 8, + @ .height = 2, + @ .paletteNum = 13, + @ .baseBlock = 0x0106 + @ } + .byte 0, 22, 5, 8, 2, 13 + .2byte 0x0116 + @ { + @ .bg = 0, + @ .tilemapLeft = 22, + @ .tilemapTop = 5, + @ .width = 8, + @ .height = 2, + @ .paletteNum = 13, + @ .baseBlock = 0x0116 + @ } + .byte 0, 15, 10, 8, 2, 13 + .2byte 0x0126 + @ { + @ .bg = 0, + @ .tilemapLeft = 15, + @ .tilemapTop = 10, + @ .width = 8, + @ .height = 2, + @ .paletteNum = 13, + @ .baseBlock = 0x0126 + @ } + .byte 0, 22, 10, 8, 2, 13 + .2byte 0x0136 + @ { + @ .bg = 0, + @ .tilemapLeft = 22, + @ .tilemapTop = 10, + @ .width = 8, + @ .height = 2, + @ .paletteNum = 13, + @ .baseBlock = 0x0136 + @ } + .byte 0, 15, 15, 8, 2, 13 + .2byte 0x0146 + @ { + @ .bg = 0, + @ .tilemapLeft = 15, + @ .tilemapTop = 15, + @ .width = 8, + @ .height = 2, + @ .paletteNum = 13, + @ .baseBlock = 0x0146 + @ } + .byte 0, 22, 15, 8, 2, 13 + .2byte 0x0156 + @ { + @ .bg = 0, + @ .tilemapLeft = 22, + @ .tilemapTop = 15, + @ .width = 8, + @ .height = 2, + @ .paletteNum = 13, + @ .baseBlock = 0x0156 + @ } + .byte 0, 2, 5, 14, 2, 13 + .2byte 0x0166 + @ { + @ .bg = 0, + @ .tilemapLeft = 2, + @ .tilemapTop = 5, + @ .width = 14, + @ .height = 2, + @ .paletteNum = 13, + @ .baseBlock = 0x0166 + @ } + .byte 0, 3, 8, 11, 8, 15 + .2byte 0x0182 + @ { + @ .bg = 0, + @ .tilemapLeft = 3, + @ .tilemapTop = 8, + @ .width = 11, + @ .height = 8, + @ .paletteNum = 15, + @ .baseBlock = 0x0182 + @ } + .byte 0, 17, 5, 14, 2, 15 + .2byte 0x01da + @ { + @ .bg = 0, + @ .tilemapLeft = 17, + @ .tilemapTop = 5, + @ .width = 14, + @ .height = 2, + @ .paletteNum = 15, + @ .baseBlock = 0x01da + @ } + .byte 0, 18, 8, 11, 8, 15 + .2byte 0x01f6 + @ { + @ .bg = 0, + @ .tilemapLeft = 18, + @ .tilemapTop = 8, + @ .width = 11, + @ .height = 8, + @ .paletteNum = 15, + @ .baseBlock = 0x01f6 + @ } + .byte 255, 0, 0, 0, 0, 0 + .2byte 0x0000 + @ { + @ .bg = 255, + @ .tilemapLeft = 0, + @ .tilemapTop = 0, + @ .width = 0, + @ .height = 0, + @ .paletteNum = 0, + @ .baseBlock = 0x0000 + @ } gUnknown_8261FC4:: @ 8261FC4 - .incbin "baserom.gba", 0x261FC4, 0x70 + .byte 0, 21, 13, 6, 4, 15 + .2byte 0x024e + @ { + @ .bg = 0, + @ .tilemapLeft = 21, + @ .tilemapTop = 13, + @ .width = 6, + @ .height = 4, + @ .paletteNum = 15, + @ .baseBlock = 0x024e + @ } + + .string "かいめの そうしん$", 13 + .string "かいめの じゅしん$", 13 + .string "ポケモンアイコンセット$", 13 + .string "OBJテキストセット$", 13 + .string "セルセット$", 13 + .string "OBJテキストADD$", 13 + .string "システムメッセージADD$", 13 + .string "はいけいセット$", 13 gUnknown_8262034:: @ 8262034 - .incbin "baserom.gba", 0x262034, 0x21 + .string "ヌケニン$" + .string "こうかんせいりつ $" + .string "だめだたらしいよ $" gUnknown_8262055:: @ 8262055 - .incbin "baserom.gba", 0x262055, 0x2027 + .byte 0x04, 0x03 + .byte 0x13, 0x03 + + .align 2 +gUnknown_826205C:: + .incbin "data/trade/unk_826207C.gbapal" + +gUnknown_826207C:: + .incbin "data/trade/unk_826207C.4bpp" + + .incbin "baserom.gba", 0x26267C, 0x1A00 gUnknown_826407C:: @ 826407C - .incbin "baserom.gba", 0x26407C, 0x1FA0 + .incbin "data/trade/unk_826407C.bin" -gUnknown_08331F60:: @ 826601C - .incbin "baserom.gba", 0x26601C, 0x1000 + .incbin "baserom.gba", 0x26487C, 0x120 + +gUnknown_826499C:: + .incbin "data/trade/unk_8264E1C.gbapal" + + .incbin "baserom.gba", 0x2649BC, 0x40 + +gUnknown_82649FC:: + .incbin "data/trade/unk_8264A1C.gbapal" + +gUnknown_8264A1C:: + .incbin "data/trade/unk_8264A1C.4bpp" + +gUnknown_8264C1C:: + .incbin "data/trade/unk_8264C1C.4bpp" + +gUnknown_8264E1C:: + .incbin "data/trade/unk_8264E1C.4bpp" + + .incbin "baserom.gba", 0x264F1C, 0x100 + +gUnknown_826501C:: + .incbin "data/trade/unk_826501C.4bpp" + +gUnknown_826601C:: @ 826601C + .incbin "data/trade/unk_826601C.bin" gUnknown_826701C:: @ 826701C - .incbin "baserom.gba", 0x26701C, 0x2840 + .incbin "data/trade/unk_826701C.8bpp" gUnknown_826985C:: @ 826985C - .incbin "baserom.gba", 0x26985C, 0x100 + .incbin "data/trade/unk_826985C.bin" gUnknown_826995C:: @ 826995C - .incbin "baserom.gba", 0x26995C, 0x100 + .incbin "data/trade/unk_826995C.bin" gUnknown_8269A5C:: @ 8269A5C - .incbin "baserom.gba", 0x269A5C, 0x1000 + .incbin "data/trade/unk_8269A5C.bin" gUnknown_826AA5C:: @ 826AA5C - .incbin "baserom.gba", 0x26AA5C, 0x1000 + .incbin "data/trade/unk_826AA5C.bin" .align 2 gUnknown_3379A0Bin:: @ 826BA5C .incbin "graphics/trade/unknown_3379A0.bin.lz" gUnknown_826BB5C:: @ 826BB5C - .incbin "baserom.gba", 0x26BB5C, 0x200 + .incbin "data/trade/unk_826BB5C.gbapal" + + .incbin "baserom.gba", 0x26BB7C, 0x1E0 gUnknown_826BD5C:: @ 826BD5C - .incbin "baserom.gba", 0x26BD5C, 0x200 + .incbin "data/trade/unk_826BD5C.gbapal" + + .incbin "baserom.gba", 0x26BD7C, 0x1E0 gUnknown_826BF5C:: @ 826BF5C - .incbin "baserom.gba", 0x26BF5C, 0x20 + .incbin "data/trade/unk_826BF5C.gbapal" gWirelessSignal4bpp:: @ 826BF7C .incbin "graphics/trade/wireless_signal.4bpp.lz" gUnknown_826C60C:: @ 826C60C - .incbin "baserom.gba", 0x26C60C, 0x7C8 + .incbin "data/trade/unk_826C60C.bin.lz" + +gOamData_826CD00:: + .4byte 0x40000100, 0x00000000 + +gAnimCmd_826CD08:: + obj_image_anim_frame 0x00, 3 + obj_image_anim_frame 0x04, 3 + obj_image_anim_frame 0x08, 3 + obj_image_anim_frame 0x0c, 3 + obj_image_anim_frame 0x10, 3 + obj_image_anim_frame 0x14, 3 + obj_image_anim_frame 0x18, 3 + obj_image_anim_frame 0x1c, 3 + obj_image_anim_frame 0x20, 3 + obj_image_anim_frame 0x24, 3 + obj_image_anim_frame 0x28, 3 + obj_image_anim_frame 0x2c, 3 + obj_image_anim_loop 1 + obj_image_anim_frame 0x00, 3 + obj_image_anim_end + +gAnimCmd_826CD44:: + obj_image_anim_frame 0x00, 3 + obj_image_anim_frame 0x04, 3 + obj_image_anim_frame 0x08, 3 + obj_image_anim_frame 0x0c, 3 + obj_image_anim_frame 0x10, 3 + obj_image_anim_frame 0x14, 3 + obj_image_anim_frame 0x18, 3 + obj_image_anim_frame 0x1c, 3 + obj_image_anim_frame 0x20, 3 + obj_image_anim_frame 0x24, 3 + obj_image_anim_frame 0x28, 3 + obj_image_anim_frame 0x2c, 3 + obj_image_anim_loop 2 + obj_image_anim_frame 0x00, 3 + obj_image_anim_end + +gSpriteAnimTable_826CD80:: + .4byte gAnimCmd_826CD08 + .4byte gAnimCmd_826CD44 + +gAffineAnimCmd_826CD88:: + obj_rot_scal_anim_frame 0x0000, 0x0000, 0x00, 0x01 + obj_rot_scal_anim_end + +gAffineAnimCmd_826CD98:: + obj_rot_scal_anim_frame 0xfff8, 0x0000, 0x00, 0x14 + obj_rot_scal_anim_end + +gAffineAnimCmd_826CDA8:: + obj_rot_scal_anim_frame 0x0060, 0x0100, 0x00, 0x00 + obj_rot_scal_anim_frame 0x0000, 0x0000, 0x00, 0x05 + obj_rot_scal_anim_frame 0x0008, 0x0000, 0x00, 0x14 + obj_rot_scal_anim_end + +gSpriteAffineAnimTable_826CDC8:: + .4byte gAffineAnimCmd_826CD88 + .4byte gAffineAnimCmd_826CD98 + .4byte gAffineAnimCmd_826CDA8 gUnknown_826CDD4:: @ 826CDD4 - .incbin "baserom.gba", 0x26CDD4, 0x8 + obj_tiles gUnknown_826207C, 0x0600, 5557 gUnknown_826CDDC:: @ 826CDDC - .incbin "baserom.gba", 0x26CDDC, 0x8 + obj_pal gUnknown_826205C, 5558 gUnknown_826CDE4:: @ 826CDE4 - .incbin "baserom.gba", 0x26CDE4, 0x48 + spr_template 5557, 5558, gOamData_826CD00, gSpriteAnimTable_826CD80, NULL, gSpriteAffineAnimTable_826CDC8, sub_80538BC + +gOamData_826CDFC:: + .4byte 0x80000500, 0x00000400 + +gAnimCmd_826CE04:: + obj_image_anim_frame 0, 5, OBJ_IMAGE_ANIM_H_FLIP | OBJ_IMAGE_ANIM_V_FLIP + obj_image_anim_end + +gSpriteAnimTable_826CE0C:: + .4byte gAnimCmd_826CE04 + +gAffineAnimCmd_826CE10:: + obj_rot_scal_anim_frame -10, -10, 0, 5 + obj_rot_scal_anim_frame 10, 10, 0, 5 + obj_rot_scal_anim_jump 0 + +gSpriteAffineAnimTable_826CE28:: + .4byte gAffineAnimCmd_826CE10 gUnknown_826CE2C:: @ 826CE2C - .incbin "baserom.gba", 0x26CE2C, 0x8 + obj_tiles gUnknown_8264A1C, 0x0200, 5550 gUnknown_826CE34:: @ 826CE34 - .incbin "baserom.gba", 0x26CE34, 0x8 + obj_pal gUnknown_82649FC, 5551 gUnknown_826CE3C:: @ 826CE3C - .incbin "baserom.gba", 0x26CE3C, 0x8 + obj_pal gUnknown_826499C, 5555 gUnknown_826CE44:: @ 826CE44 - .incbin "baserom.gba", 0x26CE44, 0x38 + spr_template 5550, 5551, gOamData_826CDFC, gSpriteAnimTable_826CE0C, NULL, gSpriteAffineAnimTable_826CE28, sub_804FD24 + +gOamData_826CE5C:: + .4byte 0x80008000, 0x00000400 + +gAnimCmd_826CE64:: + obj_image_anim_frame 0, 5, OBJ_IMAGE_ANIM_H_FLIP | OBJ_IMAGE_ANIM_V_FLIP + obj_image_anim_end + +gAnimCmd_826CE6C:: + obj_image_anim_frame 8, 5, OBJ_IMAGE_ANIM_H_FLIP | OBJ_IMAGE_ANIM_V_FLIP + obj_image_anim_end + +gSpriteAnimTable_826CE74:: + .4byte gAnimCmd_826CE64 + .4byte gAnimCmd_826CE6C gUnknown_826CE7C:: @ 826CE7C - .incbin "baserom.gba", 0x26CE7C, 0x8 + obj_tiles gUnknown_8264C1C, 0x0300, 5552 gUnknown_826CE84:: @ 826CE84 - .incbin "baserom.gba", 0x26CE84, 0x2C + spr_template 5552, 5551, gOamData_826CE5C, gSpriteAnimTable_826CE74, NULL, gDummySpriteAffineAnimTable, sub_804FD78 + +gOamData_826CE9C:: + .4byte 0x80008000, 0x00000400 + +gAnimCmd_826CEA4:: + obj_image_anim_frame 0, 10 + obj_image_anim_end + +gSpriteAnimTable_826CEAC:: + .4byte gAnimCmd_826CEA4 gUnknown_826CEB0:: @ 826CEB0 - .incbin "baserom.gba", 0x26CEB0, 0x8 + obj_tiles gUnknown_8264E1C, 0x0100, 5554 gUnknown_826CEB8:: @ 826CEB8 - .incbin "baserom.gba", 0x26CEB8, 0x70 + spr_template 5554, 5555, gOamData_826CE9C, gSpriteAnimTable_826CEAC, NULL, gDummySpriteAffineAnimTable, sub_804FDB8 + +gOamData_826CED0:: + .4byte 0xc0004000, 0x00000400 + +gAnimCmd_826CED8:: + obj_image_anim_frame 0x00, 2, OBJ_IMAGE_ANIM_H_FLIP | OBJ_IMAGE_ANIM_V_FLIP + obj_image_anim_frame 0x20, 2, OBJ_IMAGE_ANIM_H_FLIP | OBJ_IMAGE_ANIM_V_FLIP + obj_image_anim_frame 0x40, 2, OBJ_IMAGE_ANIM_H_FLIP | OBJ_IMAGE_ANIM_V_FLIP + obj_image_anim_frame 0x60, 2, OBJ_IMAGE_ANIM_H_FLIP | OBJ_IMAGE_ANIM_V_FLIP + obj_image_anim_frame 0x40, 2, OBJ_IMAGE_ANIM_H_FLIP | OBJ_IMAGE_ANIM_V_FLIP + obj_image_anim_frame 0x20, 2, OBJ_IMAGE_ANIM_H_FLIP | OBJ_IMAGE_ANIM_V_FLIP + obj_image_anim_frame 0x00, 2, OBJ_IMAGE_ANIM_H_FLIP | OBJ_IMAGE_ANIM_V_FLIP + obj_image_anim_loop 8 + obj_image_anim_end + +gAnimCmd_826CEFC:: + obj_image_anim_frame 0x00, 2, OBJ_IMAGE_ANIM_H_FLIP | OBJ_IMAGE_ANIM_V_FLIP + obj_image_anim_frame 0x20, 2, OBJ_IMAGE_ANIM_H_FLIP | OBJ_IMAGE_ANIM_V_FLIP + obj_image_anim_frame 0x40, 2, OBJ_IMAGE_ANIM_H_FLIP | OBJ_IMAGE_ANIM_V_FLIP + obj_image_anim_frame 0x60, 2, OBJ_IMAGE_ANIM_H_FLIP | OBJ_IMAGE_ANIM_V_FLIP + obj_image_anim_frame 0x40, 2, OBJ_IMAGE_ANIM_H_FLIP | OBJ_IMAGE_ANIM_V_FLIP + obj_image_anim_frame 0x20, 2, OBJ_IMAGE_ANIM_H_FLIP | OBJ_IMAGE_ANIM_V_FLIP + obj_image_anim_frame 0x00, 2, OBJ_IMAGE_ANIM_H_FLIP | OBJ_IMAGE_ANIM_V_FLIP + obj_image_anim_loop 2 + obj_image_anim_end + +gSpriteAnimTable_826CF20:: + .4byte gAnimCmd_826CED8 + +gSpriteAnimTable_826CF24:: + .4byte gAnimCmd_826CEFC gUnknown_826CF28:: @ 826CF28 - .incbin "baserom.gba", 0x26CF28, 0x8 + obj_tiles gUnknown_826501C, 0x1000, 5556 gUnknown_826CF30:: @ 826CF30 - .incbin "baserom.gba", 0x26CF30, 0x18 + spr_template 5556, 5555, gOamData_826CED0, gSpriteAnimTable_826CF20, NULL, gDummySpriteAffineAnimTable, sub_804FE00 gUnknown_826CF48:: @ 826CF48 - .incbin "baserom.gba", 0x26CF48, 0x18 + spr_template 5556, 5555, gOamData_826CED0, gSpriteAnimTable_826CF24, NULL, gDummySpriteAffineAnimTable, sub_804FE00 gUnknown_826CF60:: @ 826CF60 - .incbin "baserom.gba", 0x26CF60, 0x28 + .2byte RGB(18, 24, 31) + .2byte RGB(18, 24, 31) + .2byte RGB(18, 24, 31) + .2byte RGB(31, 31, 31) + .2byte RGB(31, 31, 31) + .2byte RGB(31, 31, 31) + .2byte RGB(18, 24, 31) + .2byte RGB(18, 24, 31) + .2byte RGB(18, 24, 31) + .2byte RGB(31, 31, 31) + .2byte RGB(31, 31, 31) + .2byte RGB(31, 31, 31) + +gAffineAnimCmd_826CF78:: + obj_rot_scal_anim_frame 0xFF00, 0x0100, 0x00, 0x00 + obj_rot_scal_anim_jump 0 gUnknown_826CF88:: @ 826CF88 - .incbin "baserom.gba", 0x26CF88, 0x4 + .4byte gAffineAnimCmd_826CF78 -gIngameTrades:: @ 826CF8C - .incbin "baserom.gba", 0x26CF8C, 0x21C - -gUnknown_826D1A8:: @ 826D1A8 - .incbin "baserom.gba", 0x26D1A8, 0x14 + .include "data/ingame_trades.inc" gUnknown_826D1BC:: @ 826D1BC - .incbin "baserom.gba", 0x26D1BC, 0x10 + .byte 0, 2, 15, 26, 4, 0 + .2byte 0x0040 + @ { + @ .bg = 0, + @ .tilemapLeft = 2, + @ .tilemapTop = 15, + @ .width = 26, + @ .height = 4, + @ .paletteNum = 0, + @ .baseBlock = 0x0040 + @ } + .byte 255, 0, 0, 0, 0, 0 + .2byte 0x0000 + @ { + @ .bg = 255, + @ .tilemapLeft = 0, + @ .tilemapTop = 0, + @ .width = 0, + @ .height = 0, + @ .paletteNum = 0, + @ .baseBlock = 0x0000 + @ } gUnknown_826D1CC:: @ 826D1CC - .incbin "baserom.gba", 0x26D1CC, 0x8 + .byte 0, 21, 9, 6, 4, 15 + .2byte 0x00bc + @ { + @ .bg = 0, + @ .tilemapLeft = 21, + @ .tilemapTop = 9, + @ .width = 6, + @ .height = 4, + @ .paletteNum = 15, + @ .baseBlock = 0x00bc + @ } gUnknown_826D1D4:: @ 826D1D4 - .incbin "baserom.gba", 0x26D1D4, 0x10 + .4byte 0x000001fc + @ { + @ .bg = 0, + @ .charBaseIndex = 3, + @ .mapBaseIndex = 31, + @ .screenSize = 0, + @ .paletteMode = 0, + @ .priority = 0, + @ .baseTile = 0x0000 + @ } + .4byte 0x00002051 + @ { + @ .bg = 1, + @ .charBaseIndex = 0, + @ .mapBaseIndex = 5, + @ .screenSize = 0, + @ .paletteMode = 0, + @ .priority = 2, + @ .baseTile = 0x0000 + @ } + .4byte 0x00002326 + @ { + @ .bg = 2, + @ .charBaseIndex = 1, + @ .mapBaseIndex = 18, + @ .screenSize = 1, + @ .paletteMode = 0, + @ .priority = 2, + @ .baseTile = 0x0000 + @ } + .4byte 0x00003063 + @ { + @ .bg = 3, + @ .charBaseIndex = 0, + @ .mapBaseIndex = 6, + @ .screenSize = 0, + @ .paletteMode = 0, + @ .priority = 3, + @ .baseTile = 0x0000 + @ } gUnknown_826D1E4:: @ 826D1E4 - .incbin "baserom.gba", 0x26D1E4, 0x6C + .byte 0x00 + .byte 0x00 + .byte 0x01 + .byte 0x00 + .byte 0x01 + .byte 0x00 + .byte 0x01 + .byte 0x01 + .byte 0x01 + .byte 0x01 + .byte 0x02 + .byte 0x02 + .byte 0x02 + .byte 0x02 + .byte 0x03 + .byte 0x03 + .byte 0x03 + .byte 0x03 + .byte 0x04 + .byte 0x04 + .byte 0x04 + .byte 0x04 + .byte 0xfc + .byte 0xfc + .byte 0xfc + .byte 0xfd + .byte 0xfd + .byte 0xfd + .byte 0xfd + .byte 0xfe + .byte 0xfe + .byte 0xfe + .byte 0xfe + .byte 0xff + .byte 0xff + .byte 0xff + .byte 0xff + .byte 0x00 + .byte 0xff + .byte 0x00 + .byte 0xff + .byte 0x00 + .byte 0x00 + .byte 0x00 + + .incbin "baserom.gba", 0x26D210, 0x40 gUnknown_826D250:: @ 826D250 - .incbin "baserom.gba", 0x26D250, 0x44 + .byte 0x00, 0x01 + .byte 0x01, 0x01 + .byte 0x02, 0x01 + .byte 0x03, 0x01 + .byte 0x04, 0x01 + .byte 0x05, 0x02 + .byte 0x06, 0x02 + .byte 0x07, 0x02 + .byte 0x08, 0x02 + .byte 0x09, 0x02 + .byte 0x0a, 0x03 + .byte 0x0b, 0x03 + .byte 0x0c, 0x03 + .byte 0x0d, 0x04 + .byte 0x0e, 0x05 + .byte 0x0f, 0x02 + .byte 0x00, 0x01 + .byte 0x01, 0x01 + .byte 0x02, 0x01 + .byte 0x03, 0x01 + .byte 0x04, 0x01 + .byte 0x05, 0x02 + .byte 0x06, 0x02 + .byte 0x07, 0x02 + .byte 0x08, 0x02 + .byte 0x09, 0x02 + .byte 0x0a, 0x03 + .byte 0x0b, 0x03 + .byte 0x0c, 0x03 + .byte 0x0d, 0x04 + .byte 0x0e, 0x05 + .byte 0x10, 0x01 + .byte 0x10, 0xff + + .align 2, 0 diff --git a/data/trade/unk_826207C.png b/data/trade/unk_826207C.png new file mode 100644 index 0000000000000000000000000000000000000000..01e26de43a1339a93577ba401e665669c5913a56 GIT binary patch literal 477 zcmeAS@N?(olHy`uVBq!ia0vp^0ziC#g&9cxfBdf&NErn9gt-3y|G$}mVGRSrRZY$R zbE<*dDO096Iyy>7NC4TGAggAYH&8EQNswPKgTu2MX+U(CtU4X@2Y2SmhyD$23nHPVPS>%}U(&QL};EN4&n;)+_YQ+~?qIYk9QhmSVwF_d2 zzK)eGZL6O#C{{l!n3JAiF+*mOI(Mz$s&g-5mj2G3YrC@ae1*Uf<6pi1ejNI7Ph+la zm4@8iuI20IfAXlF>RM1f_xSmb*DgDOxN$GR% zRY=t~%08R;dV)>xyZ)_VHkupS^#rRuJeJ#X-u$eUyg07pZ~eS4lUdX^s4OvRo|fCZIUhGK?{2%>xASjO|0_JX9lNYtcDCrYf4(_Y`xx@rp1w3@XnF+?L99qmZLt$j4`WG?UoeBivm0qZj-RKCV~EDY(&PT1fe!FMJ7!A6m8Zo}Hf4+?iqe_<%tyBfxbH~(7|3~NP%})<8`^e-a8(H2qyT2G{EQ6=3pUXO@geCwc Cb5(=@ literal 0 HcmV?d00001 diff --git a/data/trade/unk_826501C.png b/data/trade/unk_826501C.png new file mode 100644 index 0000000000000000000000000000000000000000..a900dea3b474e2ab673a8a51ceef539d6b89987a GIT binary patch literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^4nW+%!VDxm*B3zopr0CuiJp8x;= literal 0 HcmV?d00001 diff --git a/data/trade/unk_826601C.bin b/data/trade/unk_826601C.bin new file mode 100644 index 0000000000000000000000000000000000000000..8846e2d7d702adda5f8f0f6bb79dd6341bbe25b4 GIT binary patch literal 4096 zcmeIyxedTD2nA4&^b3k#Fr4q&_qr5SlBo?vSrDXAzj*CK05~|7dH=&Ze2QcXxFAU^*sY46Eh1ds}{|gG-^

l70H|`=vdi^I-$%L!Z4?Cje2Dl75(>X# z|Aha!pa9u~OoP3W+a5S-Zu=vECir&8D+3MC2J8Xd14lrQZmB2`LBFl;*@fI-iXgi^ zQ#3D)kWnQ<291|J1kfJ@6Lz=5ab(F4hOCQe!ooeANAB*gffiiTKY$Z%gg%5n4ri(^ zwD1g08k&5!V^h^+ih1?Y9h3#K0ShY{~3+6pq~{9Ksd7t{r9E-d~?Ll;*(oS$GTJ4m>B zw1&*|c7L?pfAkCI1*Z>9_#h6|HBHAOXMX8Hhw<_zj?-Y#Y}^nP$dGW{j6iGV)eg0p z`+vL}q6naZPzmC}P;DK?rWkU{lVF@z@AW4q8GN|^P!u4`*oD7g{9~h7CKSlMIWNzGD}6o-YWWa||2obLS_PI6`kmG_Tx*tBHY2RYM)p~r|0Vn!L6^|`T^l2ySC5uE zIK6*Gf5!Hg?sChkMp3Bbq+02E7Nqvp&vQfDlz{kL>w|7Kn%F~LqGk9Z9hAIG);dyM zpuN@A^F(h6r1y?wkPt!$lFEItx=^Yg}ip{6ubS@SI-N|N4`}*Dv9* zpi7|lhcZz>zv@bo}Q%)P7q;m)X3081I%a8^9*MMl`}A(4{zEC=(-@U zJC+qAppVW^a!S$=WcmKkIBrji&7EaGpx*)JmNsy1x9oDQu~fEs{*#x(XZQy|PXLlX z=H4y_Xv{13-^E3v&Hqq=27Z$F_el7a|NJ!tT>{9+pO+`SHgLN8KC=#Q z*RujNIE;kro#%o!^7-{%f@}oz+4=dQkfnbbhXs$h&*3=#+_Om!(x>!e)trofE|2XG zNM;BkY1O!-M-a3QN}(CalzDQ^`GREHjWKR4QzMA>i$))$JyW~x{4joofBcG>ms{Bl z8@c=FDV!LI5TjP43iZSNi4kH%r6SaqIe2e>#-nkt_=D$XwdnzR-&l3)rNQw<6K*ua zMq7ge9JL+b2nRhJU30vrkqsM;f@+e66SDl$w_G7T$J8@1!v+lVmgb;!w!+PbFp2N9) zWXOH31v~4TVXDHO-mc=XFpaHz5PUFV}2IzkQa8d z2|^q0KSr4E9^%YHvu;2wk0W^_lR)N1YZ-*y+^BX5wrisrxLa}N_s;X$XdR9IgM6gz z?7pt;dKGd5*bC5ha1v95d7ae@PMEE*qn?p>nJYjqQujbFh@PMqkUG<^6QN$f5)Uh+ za+9~bXMpSRR^5HgGdHrhr*Mq4I#N2&>nxNG?5jZOa8dzE5A#(`s`M47qlDh+38`2L zEPDuqj5x(1Gp5?;PX`Dc{p};u^8X`*-yu^`B~#h4DAciNBd|0fwNcYdtuI#FO06*q zkQ+04r0x84v%7Aq4Z(>+)}a2PQM_d4bUQmJ{^8gAa5}cMv;Yx;lU2L9pWi$fj^8al ztd=k-JARPufUw(D{L{qf#=Rwkuvl?35LyBx1j6{Z;u90~<%0g}PtlEE!e3PQs(kFf XV3)0Z!&kAp00000NkvXXu0mjfbeM)s literal 0 HcmV?d00001 diff --git a/data/trade/unk_826985C.bin b/data/trade/unk_826985C.bin new file mode 100644 index 0000000000000000000000000000000000000000..19bab962b945523bb6ecca2d5178c7a8a3b15357 GIT binary patch literal 256 zcmZQzfB-&zD1%CTIeAp`^z>2rcJ?qnBNHqPshPQjrIodfEdzstqm#3XtDC!rrnF9SnB yU{G*KXjpheWK?uaECWMAVp4KSYFc_mW>$7iE(1eBVNr2OX<2ziWmR=eEdv0p104YX literal 0 HcmV?d00001 diff --git a/data/trade/unk_826995C.bin b/data/trade/unk_826995C.bin new file mode 100644 index 0000000000000000000000000000000000000000..53a511321009e872ee7b2cd8ac4fff3d92ab2ca9 GIT binary patch literal 256 zcmZQzpaE!TY-(<4MHoC`;-tw_rXu)l?H!$6-B3Ow6Eh1d8#@Ol7dHp61A~L3le3Gfo4bdn zm$#2E14BSyP;f|SSa?KaRCG)%14BY$QgTXaT6#uiR(4J<14BV!QE^FWS$RceRdr1* F0{~T`B??EoFo9}-3 z!r9LRho1cU2@qK8LrBd6?7+Cj%%*FA=gcL^4)UV9d{K3_1sgaNU;+4J@8Pe zGUX~%2K7~{J@QzMT2It@s$PRe&ol+~&04f-^V|#VI&|vNtw*nyLH#SQz0s%NfI&ls zjTkj%+(b}6Y09)2v*x@t@0|sUmMmKd>Q}8vANe`_+kXO|&lv=NasLkWb1?Oj z_MEZ)%pdVyt~n(BZuc4Z-T5u{68vR15PSMh>Zjg?y%}ZCKFYj%>GuxT_Qm&l_|JTS zLk=r+#8E|#Ij-0VB}&tO$`#6#t5B)RY1L|+QLD~b=bTT(bI~OY8Z~LwqE(xAmtAo+ z5r5qcH+AaL?Uvi_xa*!C_dQ6$M~^)AM4x_7Ju_g?kYOW6JAYHnKAtl+4W1frAblGRw@KWk)1YA~U;bWrvK2tSBV@yC-*q9xt!& zFV_#(`*WVx_X;5JufxE<&tGg1ozNLw&=p|_V^?-zXLe%n@0||58@i(hdZHJ4qYuIn z&OYqTUhK&p?9OigZ~Wo=q96KW00v?ZA`povL@|;P9K?Yf!2ayVz8wqgK8R=x#t_6H z7DEw-VHl1P7{TEj#yAdTEMqu?gBktjm;CTSjKnC6Mm)w~EXH9xCSW2GkidzY!0{Z% zu^hvAj^-$i{JrqQC${QINCGe!Q!o|8G)zY_k~y8zNKWMxP9~VdNv(y%UtbaO!VJvB zEEuzqf;pIrd6x zd_fDo;v2s4D_i)5&HT(y{KzIY@&n(qf$#XX&Fh^S^j;s-s3v{XCw*44zNkfC^-bUW z)h+(wW`Fi4e{_=@{lV|u;CFuOfCH$}BR$p=Jyorq>AC9kLN8UXS9+~CdgIrA<$AyL z3)lI%pSjjg{lt&`$TcB@x~1E?qr1ANYTefZJ=8-#@O@YNp6~jOZ~K;S z`i84~-Pe3ILV`nVHY^xheAH6o!X@= z?baS;Yp?bxNBfnl1Ip7u9dw=#IM@4~<9*)iZ13@IXL*-*IvDZ+t<^fM*9L9WCT&)R zGPOlpwN2Z#Lp!|P+q~6Voaqd2_9k!i2Cw%zul=rD??0earD>5CYl)U>nU*VEE3{Ip zv|4Ml#;d)`E4{+$UhZXH>Lp(6MNV^SyAMd3p_!T`YqnA}M{_k#^R++=wa^PZ-}5}z zbDZMYwr6>!XIO1IG(Vt#5;aPblq6`frf90DX_~HNC40K3nV#w?o@_YDlRV0aKXtng zYGi9+wBj{JV>M3WH9-@Vpaf6!1dsPPkM$VGdvvQF*>-ck?f-p)prSQcLlmP}4ON_m zX}Cscgok^W<2=-{j`0u=cJ%MMeg5}CKz-Fu{WU-XHAoSPRFt9|=?D+Y<+MrQYhJaD}^%d%Kr=x`(^FTSwhtep@4`PU@^K>Z&k>xvRUlvpfB{ R^{-Cr|NrOt_2%E7@E`BJ