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00_Hitbox02-42552550012025500DefaultAction151501_Hitbox02-32552550012025500DefaultAction151502_Hitbox02-22552550012025500DefaultAction151503_Hitbox02-32552550012025500DefaultAction141504_Hitbox1-16-162550128012002550Detection323205_Hitbox02-22552550012025500DefaultAction141506_Hitbox0302552550012025500DefaultAction141307_Hitbox1-7-12552550012025500onlyHurt101608_Hitbox0202552550012025500DefaultAction151309_Hitbox1-882552550012025500onlyHurt109010_Hitbox1-762552550012025500onlyHurt99011_Hitbox0012552550012025500DefaultAction1613012_Hitbox0072552550012025500DefaultAction199walkAxeDown00_Hitbox0$0D$08115832falsefalse$8C$FE$05115832falsefalse$8A$06$05115832falsefalse$8B$00$F51151632falsefalse$80$00$FD1151632falsefalse$90$08$F51151632falsefalse$81$08$FD1151632falsefalse$91$F9$F11151632falsefalse$83$F9$F91151632falsefalse$932-8walkAxeDown11_Hitbox0$11$06115832falsefalse$8D$00$08115832falsefalse$8A$08$08115832falsefalse$8B$00$F61151632falsefalse$80$00$FE1151632falsefalse$90$08$F61151632falsefalse$81$08$FE1151632falsefalse$91$F9$F41151632falsefalse$83$F9$FC1151632falsefalse$932-8walkAxeDown22_Hitbox0$03$08115832falsefalse$8A$0B$08115832falsefalse$8B$0F$07115832falsefalse$8D$00$F71151632falsefalse$80$00$FF1151632falsefalse$90$08$F71151632falsefalse$81$08$FF1151632falsefalse$91$FA$F41151632falsefalse$83$FA$FC1151632falsefalse$932-8walkAxeDown33_Hitbox0$05$07115832falsefalse$8A$0D$07115832falsefalse$8B$07$08115832falsefalse$8C$00$F61151632falsefalse$80$00$FE1151632falsefalse$90$08$F61151632falsefalse$81$08$FE1151632falsefalse$91$F9$F21151632falsefalse$83$F9$FA1151632falsefalse$932-8walkAxeUp00_Hitbox04_Hitbox1$0D$08115832falsefalse$8C$FE$05115832falsefalse$8A$06$05115832falsefalse$8B$00$F51151632falsefalse$80$00$FD1151632falsefalse$90$08$F51151632falsefalse$81$08$FD1151632falsefalse$91$FC$F31151632falsefalse$852-8walkAxeUp13_Hitbox04_Hitbox1$11$06115832falsefalse$8D$00$08115832falsefalse$8A$08$08115832falsefalse$8B$00$F61151632falsefalse$80$00$FE1151632falsefalse$90$08$F61151632falsefalse$81$08$FE1151632falsefalse$91$FD$F41151632falsefalse$852-8walkAxeUp25_Hitbox04_Hitbox1$03$08115832falsefalse$8A$0B$08115832falsefalse$8B$0F$07115832falsefalse$8D$00$F71151632falsefalse$80$00$FF1151632falsefalse$90$08$F71151632falsefalse$81$08$FF1151632falsefalse$91$FD$F51151632falsefalse$852-8walkAxeUp33_Hitbox04_Hitbox1$05$07115832falsefalse$8A$0D$07115832falsefalse$8B$07$08115832falsefalse$8C$00$F61151632falsefalse$80$00$FE1151632falsefalse$90$08$F61151632falsefalse$81$08$FE1151632falsefalse$91$FD$F41151632falsefalse$852-8flip02_Hitbox0$FE$08115832falsefalse$8A$06$08115832falsefalse$8B$0C$08115832falsefalse$8E$00$F71151632falsefalse$80$00$FF1151632falsefalse$90$08$F71151632falsefalse$81$08$FF1151632falsefalse$91$F8$F41151632falsefalse$83$F8$FC1151632falsefalse$932-8flip12_Hitbox0$FB$F01151632falsefalse$99$FB$001151632falsefalse$B9$0B$F01151632falsefalse$9B$0B$001151632falsefalse$BB2-8axe02_Hitbox0$FD$06115832falsefalse$8A$0C$08115832falsefalse$8E$00$F71151632falsefalse$80$00$FF1151632falsefalse$90$08$F71151632falsefalse$81$08$FF1151632falsefalse$91$FC$F41151632falsefalse$852-8axe16_Hitbox07_Hitbox1$02$08115832falsefalse$8F$00$F61151632falsefalse$9D$00$FE1151632falsefalse$AD$08$F61151632falsefalse$9E$08$FE1151632falsefalse$AE$F8$F01151632falsefalse$B0$F8$001151632falsefalse$D0$08$08115832falsefalse$E22-8axe28_Hitbox09_Hitbox1$02$08115832falsefalse$8F$00$F61151632falsefalse$9D$00$FE1151632falsefalse$AD$08$F61151632falsefalse$9E$08$FE1151632falsefalse$AE$08$08115832falsefalse$E2$F7$071151632falsefalse$87$07$07115832falsefalse$892-8axe38_Hitbox010_Hitbox1$02$08115832falsefalse$8F$00$F61151632falsefalse$9D$00$FE1151632falsefalse$AD$08$F61151632falsefalse$9E$08$FE1151632falsefalse$AE$08$08115832falsefalse$E2$F8$051151632falsefalse$87$08$05115832falsefalse$892-8run0$0F$05115832falsefalse$8C$05$08115832falsefalse$DF$FC$FE1151632falsefalse$EB$FF$F81151632falsefalse$B2$FF$001151632falsefalse$C2$07$F81151632falsefalse$B3$07$001151632falsefalse$C32-8run1$01$08115832falsefalse$DF$FB$FE1151632falsefalse$ED$0D$07115832falsefalse$8D$FF$F81151632falsefalse$B2$FF$001151632falsefalse$C2$07$F81151632falsefalse$B3$07$001151632falsefalse$C32-8spinjumped011_Hitbox0$FA$001151632falsefalse$EB$0D$08115832falsefalse$DF$FF$FC1151632falsefalse$B2$FF$041151632falsefalse$C2$07$FC1151632falsefalse$B3$07$041151632falsefalse$C3$FB$FB1151632falsefalse$852-8spinjumped112_Hitbox0$FC$021151632falsefalse$B5$0C$021151632falsefalse$B72-8spinjumped2$FB$051151632falsefalse$E3$0B$051151632falsefalse$E52-8dead0$02$F01151632falsefalse$D7$02$F81151632falsefalse$E7$02$081151632falsefalse$DB2-8dead1$00$F01151632falsefalse$D9$00$F81151632falsefalse$E9$00$081151632falsefalse$DD2-8smoke0$FA$040151632falsefalse$60$08$040151632falsefalse$602-8smoke1$FB$040151632falsefalse$62$08$040151632falsefalse$622-8smoke2$FB$040151632falsefalse$64$08$040151632falsefalse$642-8smoke3$FB$030151632falsefalse$66$08$030151632falsefalse$662-8walkAxeDown00falsefalsewalkAxeDown11falsefalsewalkAxeDown22falsefalsewalkAxeDown33falsefalse1walkAxeDownwalkAxeUp00falsefalsewalkAxeUp11falsefalsewalkAxeUp22falsefalsewalkAxeUp33falsefalse1walkAxeUpflip00falsefalseflip11falsefalseflip12truefalseflip03truefalse0flipflip00falsefalseaxe01falsefalseaxe12falsefalseaxe23falsefalseaxe34falsefalse0axerun00falsefalserun11falsefalse1runspinjumped00falsefalsespinjumped11falsefalsespinjumped22falsefalsesmoke03falsefalsesmoke14falsefalsesmoke25falsefalsesmoke36falsefalse0spinjumpeddead00falsefalsedead11falsefalse1deadflip00falsefalsespinjumped01falsefalsespinjumped12falsefalsespinjumped03falsefalsespinjumped14falsefalsespinjumped05falsefalsespinjumped16falsefalsespinjumped07falsefalsespinjumped18falsefalsespinjumped09falsefalseflip010falsefalse1damaged;######################################
;############## Defines ###############
;######################################
!FrameIndex = !SpriteMiscTable1
!AnimationTimer = !SpriteDecTimer1
!AnimationIndex = !SpriteMiscTable2
!AnimationFrameIndex = !SpriteMiscTable3
!LocalFlip = !SpriteMiscTable4
!GlobalFlip = !SpriteMiscTable5
;######################################
;########### Init Routine #############
;######################################
print "INIT ",pc
LDA #$00
STA !GlobalFlip,x
JSL InitWrapperChangeAnimationFromStart
;Here you can write your Init Code
;This will be excecuted when the sprite is spawned
RTL
;######################################
;########## Main Routine ##############
;######################################
print "MAIN ",pc
PHB
PHK
PLB
JSR SpriteCode
PLB
RTL
;>Routine: SpriteCode
;>Description: This routine excecute the logic of the sprite
;>RoutineLength: Short
SpriteCode:
JSR GraphicRoutine ;Calls the graphic routine and updates sprite graphics
;Here you can put code that will be excecuted each frame even if the sprite is locked
LDA !SpriteStatus,x
CMP #$08 ;if sprite dead return
BEQ +
LDA !LockAnimationFlag
BEQ + ;if locked animation return.
RTS
+
JSL SubOffScreen
JSR InteractMarioSprite
;After this routine, if the sprite interact with mario, Carry is Set.
;Here you can write your sprite code routine
;This will be excecuted once per frame excepts when
;the animation is locked or when sprite status is not #$08
JSR AnimationRoutine ;Calls animation routine and decides the next frame to draw
.Return
RTS
;>EndRoutine
;######################################
;######## Sub Routine Space ###########
;######################################
;Here you can write routines or tables
;Don't Delete or write another >Section Graphics or >End Section
;All code between >Section Graphics and >End Graphics Section will be changed by Dyzen : Sprite Maker
;>Section Graphics
;######################################
;########## Graphics Space ############
;######################################
;This space is for routines used for graphics
;if you don't know enough about asm then
;don't edit them.
;>Routine: GraphicRoutine
;>Description: Updates tiles on the oam map
;results will be visible the next frame.
;>RoutineLength: Short
GraphicRoutine:
JSL GetDrawInfo ;Calls GetDrawInfo to get the free slot and the XDisp and YDisp
STZ !Scratch3 ;$02 = Free Slot but in 16bits
STY !Scratch2
STZ !Scratch5
LDA !GlobalFlip,x
EOR !LocalFlip,x
STA !ScratchF
ASL
STA !Scratch4 ;$04 = Global Flip but in 16bits
LDA !ScratchF
CLC
ROR A
ROR A
ROR A
STA !ScratchF
PHX ;Preserve X
STZ !Scratch7
LDA !FrameIndex,x
STA !Scratch6 ;$06 = Frame Index but in 16bits
REP #$30 ;A/X/Y 16bits mode
LDY !Scratch4 ;Y = Global Flip
LDA !Scratch6
ASL
CLC
ADC FramesFlippers,y
TAX ;X = Frame Index
LDA FramesLength,x
CMP #$FFFF
BNE +
SEP #$30
PLX
RTS
+
STA !Scratch8
LDA FramesEndPosition,x
STA !Scratch4 ;$04 = End Position + A value used to select a frame version that is flipped
LDA FramesStartPosition,x
TAX ;X = Start Position
SEP #$20 ;A 8bits mode
LDY !Scratch2 ;Y = Free Slot
CPY #$00FD
BCS .return ;Y can't be more than #$00FD
-
LDA Tiles,x
STA !TileCode,y ;Set the Tile code of the tile Y
LDA Properties,x
EOR !ScratchF
STA !TileProperty,y ;Set the Tile property of the tile Y
LDA !Scratch0
CLC
ADC XDisplacements,x
STA !TileXPosition,y ;Set the Tile x pos of the tile Y
LDA !Scratch1
CLC
ADC YDisplacements,x
STA !TileYPosition,y ;Set the Tile y pos of the tile Y
PHY
REP #$20
TYA
LSR
LSR
TAY ;Y = Y/4 because size directions are not continuous to map 200 and 300
SEP #$20
LDA Sizes,x
STA !TileSize460,y ;Set the Tile size of the tile Y
PLY
INY
INY
INY
INY ;Next OAM Slot
CPY #$00FD
BCS .return ;Y can't be more than #$00FD
DEX
BMI .return
CPX !Scratch4 ;if X < start position or is negative then return
BCS - ;else loop
.return
SEP #$10
PLX ;Restore X
LDY #$FF ;Allows mode of 8 or 16 bits
LDA !Scratch8 ;Load the number of tiles used by the frame
JSL $01B7B3|!rom ;This insert the new tiles into the oam,
;A = #$00 => only tiles of 8x8, A = #$02 = only tiles of 16x16, A = #$04 = tiles of 8x8 or 16x16
;if you select A = #$04 then you must put the sizes of the tiles in !TileSize
RTS
;>EndRoutine
;All words that starts with '@' and finish with '.' will be replaced by Dyzen
;>Table: FramesLengths
;>Description: How many tiles use each frame.
;>ValuesSize: 16
FramesLength:
dw >fls.
;>EndTable
;>Table: FramesFlippers
;>Description: Values used to add values to FramesStartPosition and FramesEndPosition
;To use a flipped version of the frames.
;>ValuesSize: 16
FramesFlippers:
dw >ffps.
;>EndTable
;>Table: FramesStartPosition
;>Description: Indicates the index where starts each frame
;>ValuesSize: 16
FramesStartPosition:
dw >fsp.
;>EndTable
;>Table: FramesEndPosition
;>Description: Indicates the index where end each frame
;>ValuesSize: 16
FramesEndPosition:
dw >fep.
;>EndTable
;>Table: Tiles
;>Description: Tiles codes of each tile of each frame
;>ValuesSize: 8
Tiles:
db >tiles.
;>EndTable
;>Table: Properties
;>Description: Properties of each tile of each frame
;>ValuesSize: 8
Properties:
db >props.
;>EndTable
;>Table: XDisplacements
;>Description: X Displacement of each tile of each frame
;>ValuesSize: 8
XDisplacements:
db >xdisps.
;>EndTable
;>Table: YDisplacements
;>Description: Y Displacement of each tile of each frame
;>ValuesSize: 8
YDisplacements:
db >ydisps.
;>EndTable
;>Table: Sizes.
;>Description: size of each tile of each frame
;>ValuesSize: 8
Sizes:
db >sizes.
;>EndTable
;>End Graphics Section
;Don't Delete or write another >Section Animation or >End Section
;All code between >Section Animations and >End Animations Section will be changed by Dyzen : Sprite Maker
;>Section Animations
;######################################
;########## Animation Space ###########
;######################################
;This space is for routines used for graphics
;if you don't know enough about asm then
;don't edit them.
InitWrapperChangeAnimationFromStart:
PHB
PHK
PLB
STZ !AnimationIndex,x
JSR ChangeAnimationFromStart
PLB
RTL
ChangeAnimationFromStart_walkAxeDown:
STZ !AnimationIndex,x
JMP ChangeAnimationFromStart
ChangeAnimationFromStart_walkAxeUp:
LDA #$01
STA !AnimationIndex,x
JMP ChangeAnimationFromStart
ChangeAnimationFromStart_flip:
LDA #$02
STA !AnimationIndex,x
JMP ChangeAnimationFromStart
ChangeAnimationFromStart_axe:
LDA #$03
STA !AnimationIndex,x
JMP ChangeAnimationFromStart
ChangeAnimationFromStart_run:
LDA #$04
STA !AnimationIndex,x
JMP ChangeAnimationFromStart
ChangeAnimationFromStart_spinjumped:
LDA #$05
STA !AnimationIndex,x
JMP ChangeAnimationFromStart
ChangeAnimationFromStart_dead:
LDA #$06
STA !AnimationIndex,x
JMP ChangeAnimationFromStart
ChangeAnimationFromStart_damaged:
LDA #$07
STA !AnimationIndex,x
ChangeAnimationFromStart:
STZ !AnimationFrameIndex,x
STZ !Scratch1
LDA !AnimationIndex,x
STA !Scratch0 ;$00 = Animation index in 16 bits
STZ !Scratch3
LDA !AnimationFrameIndex,x
STA !Scratch2 ;$02 = Animation Frame index in 16 bits
STZ !Scratch5
STX !Scratch4 ;$04 = sprite index in 16 bits
REP #$30 ;A7X/Y of 16 bits
LDX !Scratch4 ;X = sprite index in 16 bits
LDA !Scratch0
ASL
TAY ;Y = 2*Animation index
LDA !Scratch2
CLC
ADC AnimationIndexer,y
TAY ;Y = Position of the first frame of the animation + animation frame index
SEP #$20 ;A of 8 bits
LDA Frames,y
STA !FrameIndex,x ;New Frame = Frames[New Animation Frame Index]
LDA Times,y
STA !AnimationTimer,x ;Time = Times[New Animation Frame Index]
LDA Flips,y
STA !LocalFlip,x ;Flip = Flips[New Animation Frame Index]
LDA !Scratch2
STA !AnimationFrameIndex,x
SEP #$10 ;X/Y of 8 bits
LDX !Scratch4 ;X = sprite index in 8 bits
RTS
;>Routine: AnimationRoutine
;>Description: Decides what will be the next frame.
;>RoutineLength: Short
AnimationRoutine:
LDA !AnimationTimer,x
BEQ +
RTS
+
STZ !Scratch1
LDA !AnimationIndex,x
STA !Scratch0 ;$00 = Animation index in 16 bits
STZ !Scratch3
LDA !AnimationFrameIndex,x
STA !Scratch2 ;$02 = Animation Frame index in 16 bits
STZ !Scratch5
STX !Scratch4 ;$04 = sprite index in 16 bits
REP #$30 ;A7X/Y of 16 bits
LDX !Scratch4 ;X = sprite index in 16 bits
LDA !Scratch0
ASL
TAY ;Y = 2*Animation index
INC !Scratch2 ;New Animation Frame Index = Animation Frame Index + 1
LDA !Scratch2 ;if Animation Frame index < Animation Lenght then Animation Frame index++
CMP AnimationLenght,y ;else go to the frame where start the loop.
BCC +
LDA AnimationLastTransition,y
STA !Scratch2 ;New Animation Frame Index = first frame of the loop.
+
LDA !Scratch2
CLC
ADC AnimationIndexer,y
TAY ;Y = Position of the first frame of the animation + animation frame index
SEP #$20 ;A of 8 bits
LDA Frames,y
STA !FrameIndex,x ;New Frame = Frames[New Animation Frame Index]
LDA Times,y
STA !AnimationTimer,x ;Time = Times[New Animation Frame Index]
LDA Flips,y
STA !LocalFlip,x ;Flip = Flips[New Animation Frame Index]
LDA !Scratch2
STA !AnimationFrameIndex,x
SEP #$10 ;X/Y of 8 bits
LDX !Scratch4 ;X = sprite index in 8 bits
RTS
;>EndRoutine
;All words that starts with '>' and finish with '.' will be replaced by Dyzen
AnimationLenght:
dw >anl.
AnimationLastTransition:
dw >alt.
AnimationIndexer:
dw >ai.
Frames:
db >af.
Times:
db >aft.
Flips:
db >aff.
;>End Animations Section
;Don't Delete or write another >Section Hitbox Interaction or >End Section
;All code between >Section Hitboxes Interaction and >End Hitboxes Interaction Section will be changed by Dyzen : Sprite Maker
;>Section Hitboxes Interaction
;######################################
;######## Interaction Space ###########
;######################################
InteractMarioSprite:
LDA !SpriteTweaker167A_DPMKSPIS,x
AND #$20
BNE ProcessInteract
TXA
EOR !TrueFrameCounter
AND #$01
ORA !SpriteHOffScreenFlag,x
BEQ ProcessInteract
ReturnNoContact:
CLC
RTS
ProcessInteract:
JSR SubHorzPos
LDA !ScratchF
CLC
ADC #$50
CMP #$A0
BCS ReturnNoContact ; No contact, return
JSR SubVertPos
LDA !ScratchE
CLC
ADC #$60
CMP #$C0
BCS ReturnNoContact ; No contact, return
LDA $71 ; \ If animation sequence activated...
CMP #$01 ; |
BCS ReturnNoContact ; / ...no contact, return
LDA #$00 ; \ Branch if bit 6 of $0D9B set?
BIT $0D9B|!addr ; |
BVS + ; /
LDA $13F9|!addr ; \ If Mario and Sprite not on same side of scenery...
EOR !SpriteBehindEscenaryFlag,x ; |
+
BNE ReturnNoContact2
JSL $03B664|!rom ; MarioClipping
JSR Interaction
BCC ReturnNoContact2
LDA !ScratchE
CMP #$01
BNE +
JSR DefaultAction
+
SEC
RTS
ReturnNoContact2:
CLC
RTS
SubHorzPos:
LDY #$00
LDA $D1
SEC
SBC !SpriteXLow,x
STA !ScratchF
LDA $D2
SBC !SpriteXHigh,x
BPL +
INY
+
RTS
SubVertPos:
LDY #$00
LDA $D3
SEC
SBC !SpriteYLow,x
STA !ScratchE
LDA $D4
SBC !SpriteYHigh,x
BPL +
INY
+
RTS
Interaction:
STZ !ScratchE
LDA !GlobalFlip,x
EOR !LocalFlip,x
ASL
TAY ;Y = Flip Adder, used to jump to the frame with the current flip
LDA !FrameIndex,x
STA !Scratch4
STZ !Scratch5
REP #$20
LDA !Scratch4
ASL
CLC
ADC HitboxAdder,y
REP #$10
TAY
LDA FrameHitboxesIndexer,y
TAY
SEP #$20
-
LDA FrameHitBoxes,y
CMP #$FF
BNE +
LDA !ScratchE
BNE ++
SEP #$10
LDX !SpriteIndex
CLC
RTS
++
SEP #$10
LDX !SpriteIndex
SEC
RTS
+
STA !Scratch4
STZ !Scratch5
PHY
REP #$20
LDA !Scratch4
ASL
TAY
LDA HitboxesStart,y
TAY
SEP #$20
LDA !ScratchE
AND #$01
BEQ +
LDA Hitboxes+5,y
BNE +
PLY
INY
BRA -
+
STZ !ScratchA
LDA Hitboxes+1,y
STA !Scratch4 ;$04 = Low X Offset
BPL +
LDA #$FF
STA !ScratchA ;$0A = High X offset
+
STZ !ScratchB
LDA Hitboxes+2,y
STA !Scratch5 ;$05 = Low Y Offset
BPL +
LDA #$FF
STA !ScratchB ;$0B = High Y Offset
+
LDA Hitboxes+3,y
STA !Scratch6 ;$06 = Width
LDA Hitboxes+4,y
STA !Scratch7 ;$07 = Height
PHY
SEP #$10
LDX !SpriteIndex
LDA !SpriteXHigh,x
XBA
LDA !SpriteXLow,x
REP #$20
PHA
SEP #$20
LDA !ScratchA
XBA
LDA !Scratch4
REP #$20
CLC
ADC $01,s
PHA
SEP #$20
PLA
STA !Scratch4
PLA
STA !ScratchA
PLA
PLA
LDA !SpriteYHigh,x
XBA
LDA !SpriteYLow,x
REP #$20
PHA
SEP #$20
LDA !ScratchB
XBA
LDA !Scratch5
REP #$20
CLC
ADC $01,s
PHA
SEP #$20
PLA
STA !Scratch5
PLA
STA !ScratchB
PLA
PLA
JSL $03B72B|!rom
REP #$10
BCS ++
PLY
BRA +
++
PLY
LDA Hitboxes+5,y
BNE ++
LDA !ScratchE
ORA #$01
STA !ScratchE
PLY
INY
JMP -
++
STA !ScratchC
STZ !ScratchD
REP #$20
LDA !ScratchC
ASL
TAY
LDA Actions,y
STA !ScratchC
SEP #$30
LDX #$00
JSR ($000C|!dp,x)
REP #$10
+
PLY
INY
JMP -
HitboxAdder:
dw >intAdd.
FrameHitboxesIndexer:
dw >fhbsInd.
FrameHitBoxes:
db >fhbs.
HitboxesStart:
dw >hbst.
Hitboxes:
db >hbs.
Actions:
dw >hbacts.
;This routine will be executed when mario interact with a standar hitbox.
;It will be excecuted if $0E is 1 after execute Interaction routine
DefaultAction:
RTS
;>End Hitboxes Interaction Section
;>Action
;### Action onlyHurt ###
onlyHurt:
LDX !SpriteIndex
;Here you can write your action code
RTS
;>End Action
;>Action
;### Action Detection ###
Detection:
LDX !SpriteIndex
;Here you can write your action code
RTS
;>End Action
+OgAIEBgiKiYANhYmADo+A==4PBYaHiIoLjgADj44ADwWA==sPgQAAAAAADgABhY4AD4WA==+Oj4AAAAAACYAFj4mADY+A==4PD4ALjI4PjgAKj44ACg2A==sPj4APj4+PjgAPD44AA4cA==+OgAeMgA4AAA+AAAsPj4+A==4PAAaJh4wMgA+ADIAABYoA==sPgAGFhIUAAA+AAAAAAAAA==+OgAWHiYwOAA+AAA6PD4+A==4PAAWHiYwOAA+ADIGEB4wA==sPgAWHiYwOAA+AAAaKjI8A==+OhwAMCgqMAA+AAAAIjI+A==4PBwAMDI4PgA+ADI4Pj4+A==sPhwAMD4+PgA+AAAADgAmA==+OgAuNgAAAAAAAAAAAAAAA==4PAAqPiAyPgAAAAAAAAAAA==sPgAYMgAAAAAAAAAAAAAAA==+OgAiPjY+PgAAAAAAAAAAA==4PAAWAig2PgAAAAAAAAAAA==sPgAGPg4IAAAAAAAAAAAAA==+OgAuPhIaIAAAAAAAAAAAA==4PAAAABIaIAAAAAAAAAAAA==sPgAUICIsMgAAAAAAAAAAA==+PgAiNj4+OhQ+CBAgLD4+A==4PgAWKDY0AAAQDCA2Chw+A==sPgAGDhwwLAAcIiYyGBoAA==+PgAcKDA4PgA+AAAsPj4+A==4PgAcKDA4BAA+ADIAABYoA==sPgAcKDA4FgA+AAAAAAAAA==+PgA+Pj4uPgA+AAA6PD4+A==4PgAeMD4KIgA+ADIGEB4wA==sPgAAAAAAAAA+AAAaKjI8A==+PgAQGiIuPgA+AAAAIjI+A==4PgAQGiIKIgA+ADI4Pj4+A==sPgA2Nj4AAAA+AAAADgAmA==+PgAiLj4uPgAAAAAAAAAAA==4PgAAAAAKIgAAAAAAAAAAA==sPgAAAAAAAAAAAAAAAAAAA==+PgAAAAAuPgAAAAAAAAAAA==4PgAeLj4KIgAAAAAAAAAAA==sPgAAAAAAAAAAAAAAAAAAA==+PgAKEhomMAAAAAAAAAAAA==4PgAMFBokMAAAAAAAAAAAA==sPgASFhYQHgAAAAAAAAAAA==+P8A6PjwYGBoOPjQAAAAAA==4P8AWNj4+MhgKIgYAAAAAA==sP8AUKgo+Pj40OAgAAAAAA==