diff --git a/Makefile b/Makefile index a67ac00aa..d8ffdda5e 100644 --- a/Makefile +++ b/Makefile @@ -22,7 +22,6 @@ CADIUS=cadius asm: md $(ACME) -r build/4cade.lst src/4cade.a $(ACME) src/fx/fx.hgr.diagonal.a - $(ACME) src/fx/fx.hgr.iris.a $(ACME) src/fx/fx.hgr.interlock.ud.a $(ACME) src/fx/fx.hgr.interlock.lr.a $(ACME) src/fx/fx.hgr.spiral.a @@ -46,6 +45,7 @@ asm: md $(ACME) src/fx/fx.hgr.sunrise.a $(ACME) src/fx/fx.hgr.radial.a $(ACME) src/fx/fx.hgr.split.ud.intro.a + $(ACME) src/fx/fx.hgr.iris.a dsk: md asm $(CADIUS) CREATEVOLUME build/"$(DISK)" "${VOLUME}" 32766KB >>build/log diff --git a/res/fx.conf b/res/fx.conf index e5670f4e6..fec9e95be 100644 --- a/res/fx.conf +++ b/res/fx.conf @@ -1 +1 @@ -# # transition effects for HGR slideshows # SPLIT.UD.INTRO RADIAL SUNRISE DIAGONAL CHECKERBOARD HALF.FIZZLE CORNER.CIRCLE BAR.DISSOLVE STAGGERWHITE.LR DIAMOND ONESQUARE TWOPASS.LR CRYSTAL HALF.MOSAIC STAGGER.LR FOURSQUARE STAGGER.UD INTERLOCK.LR BLOCK.MOSAIC IRIS FIZZLE STAGGERWHITE.UD INTERLOCK.UD BLOCK.FIZZLE SPIRAL [eof] \ No newline at end of file +# # transition effects for HGR slideshows # IRIS SPLIT.UD.INTRO RADIAL SUNRISE DIAGONAL CHECKERBOARD HALF.FIZZLE CORNER.CIRCLE BAR.DISSOLVE STAGGERWHITE.LR DIAMOND ONESQUARE TWOPASS.LR CRYSTAL HALF.MOSAIC STAGGER.LR FOURSQUARE STAGGER.UD INTERLOCK.LR BLOCK.MOSAIC FIZZLE STAGGERWHITE.UD INTERLOCK.UD BLOCK.FIZZLE SPIRAL [eof] \ No newline at end of file diff --git a/res/fx/_FileInformation.txt b/res/fx/_FileInformation.txt index a2504e568..65d87a5c1 100644 --- a/res/fx/_FileInformation.txt +++ b/res/fx/_FileInformation.txt @@ -2,7 +2,6 @@ DIAGONAL=Type(06),AuxType(6000),Access(C3) FIZZLE=Type(06),AuxType(6000),Access(C3) INTERLOCK.UD=Type(06),AuxType(6000),Access(C3) INTERLOCK.LR=Type(06),AuxType(6000),Access(C3) -IRIS=Type(06),AuxType(6000),Access(C3) SPIRAL=Type(06),AuxType(6000),Access(C3) BAR.DISSOLVE=Type(06),AuxType(6000),Access(C3) BLOCK.FIZZLE=Type(06),AuxType(6000),Access(C3) @@ -23,3 +22,4 @@ CORNER.CIRCLE=Type(06),AuxType(6000),Access(C3) SUNRISE=Type(06),AuxType(6000),Access(C3) RADIAL=Type(06),AuxType(6000),Access(C3) SPLIT.UD.INTRO=Type(06),AuxType(6000),Access(C3) +IRIS=Type(06),AuxType(6000),Access(C3) diff --git a/res/notes/radialspiral.py b/res/notes/radialspiral.py new file mode 100755 index 000000000..846cc6841 --- /dev/null +++ b/res/notes/radialspiral.py @@ -0,0 +1,21 @@ +#!/usr/bin/env python3 + +from math import sqrt, sin, cos, pi + +def f(t): + t = float(t) + return (0.6*sqrt(t)*cos(2*pi*sqrt(t)), sqrt(t)*sin(2*pi*sqrt(t))) + +coords = [] +for i in range(20000): + any = False + a, b = f(float(i)/10.0) + x = round(20+a) + y = round(24+b) + if x < 0 or x > 39 or y < 0 or y > 47 or (x,y) in coords: + continue + coords.append((x,y)) + +with open("../../src/fx/fx.hgr.iris.data.a", "w") as f: + for x, y in coords: + f.write(" !byte %s,%s\n" % (y,x)) diff --git a/src/fx/fx.hgr.iris.a b/src/fx/fx.hgr.iris.a index 8201f2f13..d9d0585a3 100644 --- a/src/fx/fx.hgr.iris.a +++ b/src/fx/fx.hgr.iris.a @@ -2,99 +2,38 @@ !to "build/FX/IRIS",plain *=$6000 -round = $FC -block = $FD +coord = $FE - lda #$00 - sta round -@outerloop - lda round - asl - tax - lda @map,x - sta $fe - lda @map+1,x - sta $ff - lda #$00 - sta block -@innerloop - ldy block - lda ($fe),y - bmi @nextround ; exit condition + lda #<@coords + sta coord + lda #>@coords + sta coord+1 + ldy #0 +@loop + lda (coord),y tax iny - lda ($fe),y + lda (coord),y tay txa - jsr HGRBlockCopy - inc block - inc block - bne @innerloop ; always branches (only exit condition is the BMI above) -@nextround - lda #$40 + jsr HGRHalfBlockCopy + lda #$6 jsr WaitForKeyWithTimeout bmi @exit - inc round - lda round - cmp #27 - bne @outerloop + inc coord + bne + + inc coord+1 ++ inc coord + bne + + inc coord+1 ++ ldy #$00 + lda ($FE),y + bpl @loop @exit rts -@map - !word @round1 - !word @round2 - !word @round3 - !word @round4 - !word @round5 - !word @round6 - !word @round7 - !word @round8 - !word @round9 - !word @round10 - !word @round11 - !word @round12 - !word @round13 - !word @round14 - !word @round15 - !word @round16 - !word @round17 - !word @round18 - !word @round19 - !word @round20 - !word @round21 - !word @round22 - !word @round23 - !word @round24 - !word @round25 - !word @round26 - !word @round27 -@round1 !byte 11,19, 11,20, 12,19, 12,20, 255 -@round2 !byte 10,18, 10,19, 10,20, 10,21, 11,18, 11,21, 12,18, 12,21, 13,18, 13,19, 13,20, 13,21, 255 -@round3 !byte 9,18, 9,19, 9,20, 9,21, 10,17, 10,22, 11,17, 11,22, 12,17, 12,22, 13,17, 13,22, 14,18, 14,19, 14,20, 14,21, 255 -@round4 !byte 8,18, 8,19, 8,20, 8,21, 9,17, 9,22, 10,16, 10,23, 11,16, 11,23, 12,16, 12,23, 13,16, 13,23, 14,17, 14,22, 15,18, 15,19, 15,20, 15,21, 255 -@round5 !byte 7,18, 7,19, 7,20, 7,21, 8,16, 8,17, 8,22, 8,23, 9,16, 9,23, 10,15, 10,24, 11,15, 11,24, 12,15, 12,24, 13,15, 13,24, 14,16, 14,23, 15,16, 15,17, 15,22, 15,23, 16,18, 16,19, 16,20, 16,21, 255 -@round6 !byte 6,18, 6,19, 6,20, 6,21, 7,15, 7,16, 7,17, 7,22, 7,23, 7,24, 8,15, 8,24, 9,15, 9,24, 10,14, 10,25, 11,14, 11,25, 12,14, 12,25, 13,14, 13,25, 14,15, 14,24, 15,15, 15,24, 16,15, 16,16, 16,17, 16,22, 16,23, 16,24, 17,18, 17,19, 17,20, 17,21, 255 -@round7 !byte 5,18, 5,19, 5,20, 5,21, 6,15, 6,16, 6,17, 6,22, 6,23, 6,24, 7,14, 7,25, 8,14, 8,25, 9,14, 9,25, 10,13, 10,26, 11,13, 11,26, 12,13, 12,26, 13,13, 13,26, 14,14, 14,25, 15,14, 15,25, 16,14, 16,25, 17,15, 17,16, 17,17, 17,22, 17,23, 17,24, 18,18, 18,19, 18,20, 18,21, 255 -@round8 !byte 4,18, 4,19, 4,20, 4,21, 5,15, 5,16, 5,17, 5,22, 5,23, 5,24, 6,14, 6,25, 7,13, 7,26, 8,13, 8,26, 9,13, 9,26, 10,12, 10,27, 11,12, 11,27, 12,12, 12,27, 13,12, 13,27, 14,13, 14,26, 15,13, 15,26, 16,13, 16,26, 17,14, 17,25, 18,15, 18,16, 18,17, 18,22, 18,23, 18,24, 19,18, 19,19, 19,20, 19,21, 255 -@round9 !byte 3,18, 3,19, 3,20, 3,21, 4,15, 4,16, 4,17, 4,22, 4,23, 4,24, 5,13, 5,14, 5,25, 5,26, 6,13, 6,26, 7,12, 7,27, 8,12, 8,27, 9,12, 9,27, 10,11, 10,28, 11,11, 11,28, 12,11, 12,28, 13,11, 13,28, 14,12, 14,27, 15,12, 15,27, 16,12, 16,27, 17,13, 17,26, 18,13, 18,14, 18,25, 18,26, 19,15, 19,16, 19,17, 19,22, 19,23, 19,24, 20,18, 20,19, 20,20, 20,21, 255 -@round10 !byte 2,18, 2,19, 2,20, 2,21, 3,15, 3,16, 3,17, 3,22, 3,23, 3,24, 4,13, 4,14, 4,25, 4,26, 5,12, 5,27, 6,12, 6,27, 7,11, 7,28, 8,11, 8,28, 9,11, 9,28, 10,10, 10,29, 11,10, 11,29, 12,10, 12,29, 13,10, 13,29, 14,11, 14,28, 15,11, 15,28, 16,11, 16,28, 17,12, 17,27, 18,12, 18,27, 19,13, 19,14, 19,25, 19,26, 20,15, 20,16, 20,17, 20,22, 20,23, 20,24, 21,18, 21,19, 21,20, 21,21, 255 -@round11 !byte 1,18, 1,19, 1,20, 1,21, 2,15, 2,16, 2,17, 2,22, 2,23, 2,24, 3,13, 3,14, 3,25, 3,26, 4,12, 4,27, 5,11, 5,28, 6,11, 6,28, 7,10, 7,29, 8,10, 8,29, 9,10, 9,29, 10,9, 10,30, 11,9, 11,30, 12,9, 12,30, 13,9, 13,30, 14,10, 14,29, 15,10, 15,29, 16,10, 16,29, 17,11, 17,28, 18,11, 18,28, 19,12, 19,27, 20,13, 20,14, 20,25, 20,26, 21,15, 21,16, 21,17, 21,22, 21,23, 21,24, 22,18, 22,19, 22,20, 22,21, 255 -@round12 !byte 0,18, 0,19, 0,20, 0,21, 1,15, 1,16, 1,17, 1,22, 1,23, 1,24, 2,13, 2,14, 2,25, 2,26, 3,12, 3,27, 4,11, 4,28, 5,10, 5,29, 6,10, 6,29, 7,9, 7,30, 8,9, 8,30, 9,9, 9,30, 10,8, 10,31, 11,8, 11,31, 12,8, 12,31, 13,8, 13,31, 14,9, 14,30, 15,9, 15,30, 16,9, 16,30, 17,10, 17,29, 18,10, 18,29, 19,11, 19,28, 20,12, 20,27, 21,13, 21,14, 21,25, 21,26, 22,15, 22,16, 22,17, 22,22, 22,23, 22,24, 23,18, 23,19, 23,20, 23,21, 255 -@round13 !byte 0,15, 0,16, 0,17, 0,22, 0,23, 0,24, 1,13, 1,14, 1,25, 1,26, 2,12, 2,27, 3,11, 3,28, 4,10, 4,29, 5,9, 5,30, 6,9, 6,30, 7,8, 7,31, 8,8, 8,31, 9,8, 9,31, 10,7, 10,32, 11,7, 11,32, 12,7, 12,32, 13,7, 13,32, 14,8, 14,31, 15,8, 15,31, 16,8, 16,31, 17,9, 17,30, 18,9, 18,30, 19,10, 19,29, 20,11, 20,28, 21,12, 21,27, 22,13, 22,14, 22,25, 22,26, 23,15, 23,16, 23,17, 23,22, 23,23, 23,24, 255 -@round14 !byte 0,13, 0,14, 0,25, 0,26, 1,12, 1,27, 2,11, 2,28, 3,10, 3,29, 4,9, 4,30, 5,8, 5,31, 6,8, 6,31, 7,7, 7,32, 8,7, 8,32, 9,7, 9,32, 10,6, 10,33, 11,6, 11,33, 12,6, 12,33, 13,6, 13,33, 14,7, 14,32, 15,7, 15,32, 16,7, 16,32, 17,8, 17,31, 18,8, 18,31, 19,9, 19,30, 20,10, 20,29, 21,11, 21,28, 22,12, 22,27, 23,13, 23,14, 23,25, 23,26, 255 -@round15 !byte 0,12, 0,27, 1,11, 1,28, 2,10, 2,29, 3,9, 3,30, 4,8, 4,31, 5,7, 5,32, 6,7, 6,32, 7,6, 7,33, 8,6, 8,33, 9,6, 9,33, 10,5, 10,34, 11,5, 11,34, 12,5, 12,34, 13,5, 13,34, 14,6, 14,33, 15,6, 15,33, 16,6, 16,33, 17,7, 17,32, 18,7, 18,32, 19,8, 19,31, 20,9, 20,30, 21,10, 21,29, 22,11, 22,28, 23,12, 23,27, 255 -@round16 !byte 0,11, 0,28, 1,10, 1,29, 2,9, 2,30, 3,8, 3,31, 4,7, 4,32, 5,6, 5,33, 6,6, 6,33, 7,5, 7,34, 8,5, 8,34, 9,5, 9,34, 10,4, 10,35, 11,4, 11,35, 12,4, 12,35, 13,4, 13,35, 14,5, 14,34, 15,5, 15,34, 16,5, 16,34, 17,6, 17,33, 18,6, 18,33, 19,7, 19,32, 20,8, 20,31, 21,9, 21,30, 22,10, 22,29, 23,11, 23,28, 255 -@round17 !byte 0,10, 0,29, 1,9, 1,30, 2,8, 2,31, 3,7, 3,32, 4,6, 4,33, 5,5, 5,34, 6,5, 6,34, 7,4, 7,35, 8,4, 8,35, 9,4, 9,35, 10,3, 10,36, 11,3, 11,36, 12,3, 12,36, 13,3, 13,36, 14,4, 14,35, 15,4, 15,35, 16,4, 16,35, 17,5, 17,34, 18,5, 18,34, 19,6, 19,33, 20,7, 20,32, 21,8, 21,31, 22,9, 22,30, 23,10, 23,29, 255 -@round18 !byte 0,9, 0,30, 1,8, 1,31, 2,7, 2,32, 3,6, 3,33, 4,5, 4,34, 5,4, 5,35, 6,4, 6,35, 7,3, 7,36, 8,3, 8,36, 9,3, 9,36, 10,2, 10,37, 11,2, 11,37, 12,2, 12,37, 13,2, 13,37, 14,3, 14,36, 15,3, 15,36, 16,3, 16,36, 17,4, 17,35, 18,4, 18,35, 19,5, 19,34, 20,6, 20,33, 21,7, 21,32, 22,8, 22,31, 23,9, 23,30, 255 -@round19 !byte 0,8, 0,31, 1,7, 1,32, 2,6, 2,33, 3,5, 3,34, 4,4, 4,35, 5,3, 5,36, 6,3, 6,36, 7,2, 7,37, 8,2, 8,37, 9,2, 9,37, 10,1, 10,38, 11,1, 11,38, 12,1, 12,38, 13,1, 13,38, 14,2, 14,37, 15,2, 15,37, 16,2, 16,37, 17,3, 17,36, 18,3, 18,36, 19,4, 19,35, 20,5, 20,34, 21,6, 21,33, 22,7, 22,32, 23,8, 23,31, 255 -@round20 !byte 0,7, 0,32, 1,6, 1,33, 2,5, 2,34, 3,4, 3,35, 4,3, 4,36, 5,2, 5,37, 6,2, 6,37, 7,1, 7,38, 8,1, 8,38, 9,1, 9,38, 10,0, 10,39, 11,0, 11,39, 12,0, 12,39, 13,0, 13,39, 14,1, 14,38, 15,1, 15,38, 16,1, 16,38, 17,2, 17,37, 18,2, 18,37, 19,3, 19,36, 20,4, 20,35, 21,5, 21,34, 22,6, 22,33, 23,7, 23,32, 255 -@round21 !byte 0,6, 0,33, 1,5, 1,34, 2,4, 2,35, 3,3, 3,36, 4,2, 4,37, 5,1, 5,38, 6,1, 6,38, 7,0, 7,39, 8,0, 8,39, 9,0, 9,39, 14,0, 14,39, 15,0, 15,39, 16,0, 16,39, 17,1, 17,38, 18,1, 18,38, 19,2, 19,37, 20,3, 20,36, 21,4, 21,35, 22,5, 22,34, 23,6, 23,33, 255 -@round22 !byte 0,5, 0,34, 1,4, 1,35, 2,3, 2,36, 3,2, 3,37, 4,1, 4,38, 5,0, 5,39, 6,0, 6,39, 17,0, 17,39, 18,0, 18,39, 19,1, 19,38, 20,2, 20,37, 21,3, 21,36, 22,4, 22,35, 23,5, 23,34, 255 -@round23 !byte 0,4, 0,35, 1,3, 1,36, 2,2, 2,37, 3,1, 3,38, 4,0, 4,39, 19,0, 19,39, 20,1, 20,38, 21,2, 21,37, 22,3, 22,36, 23,4, 23,35, 255 -@round24 !byte 0,3, 0,36, 1,2, 1,37, 2,1, 2,38, 3,0, 3,39, 20,0, 20,39, 21,1, 21,38, 22,2, 22,37, 23,3, 23,36, 255 -@round25 !byte 0,2, 0,37, 1,1, 1,38, 2,0, 2,39, 21,0, 21,39, 22,1, 22,38, 23,2, 23,37, 255 -@round26 !byte 0,1, 0,38, 1,0, 1,39, 22,0, 22,39, 23,1, 23,38, 255 -@round27 !byte 0,0, 0,39, 23,0, 23,39, 255 +@coords + !source "src/fx/fx.hgr.iris.data.a" + !byte $80 !source "src/wait.a" !source "src/fx/fx.hgr.common.a" diff --git a/src/fx/fx.hgr.iris.data.a b/src/fx/fx.hgr.iris.data.a new file mode 100644 index 000000000..7bd35890c --- /dev/null +++ b/src/fx/fx.hgr.iris.data.a @@ -0,0 +1,1920 @@ + !byte 24,20 + !byte 23,20 + !byte 24,21 + !byte 25,21 + !byte 25,20 + !byte 25,19 + !byte 24,19 + !byte 23,19 + !byte 22,20 + !byte 22,21 + !byte 23,21 + !byte 26,21 + !byte 26,20 + !byte 26,19 + !byte 24,18 + !byte 22,19 + !byte 21,20 + !byte 21,21 + !byte 23,22 + !byte 24,22 + !byte 25,22 + !byte 26,22 + !byte 27,21 + !byte 27,20 + !byte 27,19 + !byte 26,18 + !byte 25,18 + !byte 23,18 + !byte 22,18 + !byte 21,19 + !byte 20,19 + !byte 20,20 + !byte 20,21 + !byte 21,22 + !byte 22,22 + !byte 27,22 + !byte 28,21 + !byte 28,20 + !byte 28,19 + !byte 27,18 + !byte 25,17 + !byte 24,17 + !byte 23,17 + !byte 22,17 + !byte 21,18 + !byte 20,18 + !byte 19,19 + !byte 19,20 + !byte 19,21 + !byte 20,22 + !byte 22,23 + !byte 23,23 + !byte 24,23 + !byte 25,23 + !byte 26,23 + !byte 27,23 + !byte 28,22 + !byte 29,21 + !byte 29,20 + !byte 29,19 + !byte 29,18 + !byte 28,18 + !byte 27,17 + !byte 26,17 + !byte 21,17 + !byte 20,17 + !byte 19,18 + !byte 18,19 + !byte 18,20 + !byte 18,21 + !byte 19,22 + !byte 20,23 + !byte 21,23 + !byte 23,24 + !byte 24,24 + !byte 25,24 + !byte 26,24 + !byte 28,23 + !byte 29,22 + !byte 30,22 + !byte 30,21 + !byte 30,20 + !byte 30,19 + !byte 30,18 + !byte 29,17 + !byte 28,17 + !byte 27,16 + !byte 26,16 + !byte 25,16 + !byte 24,16 + !byte 23,16 + !byte 22,16 + !byte 21,16 + !byte 19,17 + !byte 18,18 + !byte 17,19 + !byte 17,20 + !byte 17,21 + !byte 18,22 + !byte 19,23 + !byte 20,24 + !byte 21,24 + !byte 22,24 + !byte 27,24 + !byte 28,24 + !byte 29,23 + !byte 30,23 + !byte 31,22 + !byte 31,21 + !byte 31,20 + !byte 31,19 + !byte 31,18 + !byte 30,17 + !byte 28,16 + !byte 24,15 + !byte 20,16 + !byte 19,16 + !byte 18,17 + !byte 17,18 + !byte 16,19 + !byte 16,20 + !byte 16,21 + !byte 17,22 + !byte 17,23 + !byte 18,23 + !byte 19,24 + !byte 22,25 + !byte 23,25 + !byte 24,25 + !byte 25,25 + !byte 26,25 + !byte 27,25 + !byte 29,24 + !byte 31,23 + !byte 32,22 + !byte 32,21 + !byte 32,20 + !byte 32,19 + !byte 32,18 + !byte 31,17 + !byte 30,16 + !byte 29,16 + !byte 28,15 + !byte 27,15 + !byte 26,15 + !byte 25,15 + !byte 23,15 + !byte 22,15 + !byte 21,15 + !byte 20,15 + !byte 18,16 + !byte 17,17 + !byte 16,18 + !byte 15,19 + !byte 15,20 + !byte 15,21 + !byte 16,22 + !byte 16,23 + !byte 17,24 + !byte 18,24 + !byte 19,25 + !byte 20,25 + !byte 21,25 + !byte 28,25 + !byte 29,25 + !byte 30,24 + !byte 31,24 + !byte 32,23 + !byte 33,22 + !byte 33,21 + !byte 33,20 + !byte 33,19 + !byte 33,18 + !byte 32,17 + !byte 31,16 + !byte 29,15 + !byte 26,14 + !byte 25,14 + !byte 24,14 + !byte 23,14 + !byte 22,14 + !byte 21,14 + !byte 19,15 + !byte 18,15 + !byte 17,16 + !byte 16,16 + !byte 16,17 + !byte 15,17 + !byte 15,18 + !byte 14,19 + !byte 14,20 + !byte 14,21 + !byte 15,22 + !byte 15,23 + !byte 16,24 + !byte 18,25 + !byte 20,26 + !byte 21,26 + !byte 22,26 + !byte 23,26 + !byte 24,26 + !byte 25,26 + !byte 26,26 + !byte 27,26 + !byte 28,26 + !byte 30,25 + !byte 31,25 + !byte 32,24 + !byte 33,23 + !byte 34,22 + !byte 34,21 + !byte 34,20 + !byte 34,19 + !byte 34,18 + !byte 33,17 + !byte 32,16 + !byte 31,15 + !byte 30,15 + !byte 29,14 + !byte 28,14 + !byte 27,14 + !byte 20,14 + !byte 19,14 + !byte 17,15 + !byte 15,16 + !byte 14,17 + !byte 14,18 + !byte 13,19 + !byte 13,20 + !byte 13,21 + !byte 14,22 + !byte 14,23 + !byte 15,24 + !byte 16,25 + !byte 17,25 + !byte 18,26 + !byte 19,26 + !byte 22,27 + !byte 23,27 + !byte 24,27 + !byte 25,27 + !byte 26,27 + !byte 29,26 + !byte 30,26 + !byte 32,25 + !byte 33,24 + !byte 34,24 + !byte 34,23 + !byte 35,22 + !byte 35,21 + !byte 35,20 + !byte 35,19 + !byte 35,18 + !byte 34,17 + !byte 34,16 + !byte 33,16 + !byte 32,15 + !byte 31,14 + !byte 30,14 + !byte 28,13 + !byte 27,13 + !byte 26,13 + !byte 25,13 + !byte 24,13 + !byte 23,13 + !byte 22,13 + !byte 21,13 + !byte 20,13 + !byte 18,14 + !byte 17,14 + !byte 16,15 + !byte 15,15 + !byte 14,16 + !byte 13,17 + !byte 13,18 + !byte 12,19 + !byte 12,20 + !byte 12,21 + !byte 13,22 + !byte 13,23 + !byte 14,24 + !byte 15,25 + !byte 16,26 + !byte 17,26 + !byte 19,27 + !byte 20,27 + !byte 21,27 + !byte 27,27 + !byte 28,27 + !byte 29,27 + !byte 31,26 + !byte 32,26 + !byte 33,25 + !byte 35,24 + !byte 35,23 + !byte 36,22 + !byte 36,21 + !byte 36,20 + !byte 36,19 + !byte 36,18 + !byte 35,17 + !byte 35,16 + !byte 34,15 + !byte 33,15 + !byte 32,14 + !byte 30,13 + !byte 29,13 + !byte 24,12 + !byte 19,13 + !byte 18,13 + !byte 16,14 + !byte 14,15 + !byte 13,16 + !byte 12,17 + !byte 12,18 + !byte 11,19 + !byte 11,20 + !byte 11,21 + !byte 11,22 + !byte 12,22 + !byte 12,23 + !byte 13,24 + !byte 14,25 + !byte 15,26 + !byte 17,27 + !byte 18,27 + !byte 21,28 + !byte 22,28 + !byte 23,28 + !byte 24,28 + !byte 25,28 + !byte 26,28 + !byte 27,28 + !byte 28,28 + !byte 30,27 + !byte 31,27 + !byte 33,26 + !byte 34,25 + !byte 35,25 + !byte 36,24 + !byte 36,23 + !byte 37,23 + !byte 37,22 + !byte 37,21 + !byte 37,20 + !byte 37,19 + !byte 37,18 + !byte 37,17 + !byte 36,17 + !byte 36,16 + !byte 35,15 + !byte 34,14 + !byte 33,14 + !byte 32,13 + !byte 31,13 + !byte 29,12 + !byte 28,12 + !byte 27,12 + !byte 26,12 + !byte 25,12 + !byte 23,12 + !byte 22,12 + !byte 21,12 + !byte 20,12 + !byte 19,12 + !byte 17,13 + !byte 16,13 + !byte 15,14 + !byte 14,14 + !byte 13,15 + !byte 12,16 + !byte 11,17 + !byte 11,18 + !byte 10,19 + !byte 10,20 + !byte 10,21 + !byte 10,22 + !byte 11,23 + !byte 12,24 + !byte 12,25 + !byte 13,25 + !byte 14,26 + !byte 15,27 + !byte 16,27 + !byte 18,28 + !byte 19,28 + !byte 20,28 + !byte 29,28 + !byte 30,28 + !byte 32,27 + !byte 33,27 + !byte 34,26 + !byte 35,26 + !byte 36,25 + !byte 37,24 + !byte 38,23 + !byte 38,22 + !byte 38,21 + !byte 38,20 + !byte 38,19 + !byte 38,18 + !byte 38,17 + !byte 37,16 + !byte 36,15 + !byte 35,14 + !byte 33,13 + !byte 31,12 + !byte 30,12 + !byte 27,11 + !byte 26,11 + !byte 25,11 + !byte 24,11 + !byte 23,11 + !byte 22,11 + !byte 21,11 + !byte 18,12 + !byte 17,12 + !byte 15,13 + !byte 14,13 + !byte 13,14 + !byte 12,15 + !byte 11,15 + !byte 11,16 + !byte 10,17 + !byte 10,18 + !byte 9,19 + !byte 9,20 + !byte 9,21 + !byte 9,22 + !byte 10,23 + !byte 10,24 + !byte 11,24 + !byte 11,25 + !byte 12,26 + !byte 13,26 + !byte 14,27 + !byte 16,28 + !byte 17,28 + !byte 19,29 + !byte 20,29 + !byte 21,29 + !byte 22,29 + !byte 23,29 + !byte 24,29 + !byte 25,29 + !byte 26,29 + !byte 27,29 + !byte 28,29 + !byte 29,29 + !byte 31,28 + !byte 32,28 + !byte 34,27 + !byte 35,27 + !byte 36,26 + !byte 37,25 + !byte 38,24 + !byte 39,23 + !byte 39,22 + !byte 39,21 + !byte 39,20 + !byte 39,19 + !byte 39,18 + !byte 39,17 + !byte 38,16 + !byte 37,15 + !byte 36,14 + !byte 35,13 + !byte 34,13 + !byte 33,12 + !byte 32,12 + !byte 30,11 + !byte 29,11 + !byte 28,11 + !byte 20,11 + !byte 19,11 + !byte 18,11 + !byte 16,12 + !byte 15,12 + !byte 13,13 + !byte 12,14 + !byte 11,14 + !byte 10,15 + !byte 10,16 + !byte 9,17 + !byte 9,18 + !byte 8,19 + !byte 8,20 + !byte 8,21 + !byte 8,22 + !byte 9,23 + !byte 9,24 + !byte 10,25 + !byte 11,26 + !byte 13,27 + !byte 14,28 + !byte 15,28 + !byte 17,29 + !byte 18,29 + !byte 22,30 + !byte 23,30 + !byte 24,30 + !byte 25,30 + !byte 26,30 + !byte 30,29 + !byte 31,29 + !byte 32,29 + !byte 33,28 + !byte 34,28 + !byte 36,27 + !byte 37,26 + !byte 38,25 + !byte 39,24 + !byte 40,23 + !byte 40,22 + !byte 40,21 + !byte 40,20 + !byte 40,19 + !byte 40,18 + !byte 40,17 + !byte 39,16 + !byte 38,15 + !byte 37,14 + !byte 36,13 + !byte 35,12 + !byte 34,12 + !byte 32,11 + !byte 31,11 + !byte 28,10 + !byte 27,10 + !byte 26,10 + !byte 25,10 + !byte 24,10 + !byte 23,10 + !byte 22,10 + !byte 21,10 + !byte 20,10 + !byte 19,10 + !byte 17,11 + !byte 16,11 + !byte 15,11 + !byte 14,12 + !byte 13,12 + !byte 12,13 + !byte 10,14 + !byte 9,15 + !byte 9,16 + !byte 8,16 + !byte 8,17 + !byte 8,18 + !byte 7,18 + !byte 7,19 + !byte 7,20 + !byte 7,21 + !byte 7,22 + !byte 8,23 + !byte 8,24 + !byte 9,25 + !byte 10,26 + !byte 11,27 + !byte 12,27 + !byte 13,28 + !byte 15,29 + !byte 16,29 + !byte 18,30 + !byte 19,30 + !byte 20,30 + !byte 21,30 + !byte 27,30 + !byte 28,30 + !byte 29,30 + !byte 30,30 + !byte 33,29 + !byte 34,29 + !byte 35,28 + !byte 37,27 + !byte 38,26 + !byte 39,25 + !byte 40,24 + !byte 41,23 + !byte 41,22 + !byte 41,21 + !byte 41,20 + !byte 41,19 + !byte 41,18 + !byte 41,17 + !byte 40,16 + !byte 40,15 + !byte 39,15 + !byte 39,14 + !byte 38,14 + !byte 38,13 + !byte 37,13 + !byte 36,12 + !byte 34,11 + !byte 33,11 + !byte 31,10 + !byte 30,10 + !byte 29,10 + !byte 24,9 + !byte 18,10 + !byte 17,10 + !byte 14,11 + !byte 12,12 + !byte 11,13 + !byte 10,13 + !byte 9,14 + !byte 8,15 + !byte 7,16 + !byte 7,17 + !byte 6,18 + !byte 6,19 + !byte 6,20 + !byte 6,21 + !byte 6,22 + !byte 7,23 + !byte 7,24 + !byte 8,25 + !byte 9,26 + !byte 10,27 + !byte 11,28 + !byte 12,28 + !byte 13,29 + !byte 14,29 + !byte 16,30 + !byte 17,30 + !byte 20,31 + !byte 21,31 + !byte 22,31 + !byte 23,31 + !byte 24,31 + !byte 25,31 + !byte 26,31 + !byte 27,31 + !byte 28,31 + !byte 31,30 + !byte 32,30 + !byte 35,29 + !byte 36,28 + !byte 37,28 + !byte 38,27 + !byte 39,26 + !byte 40,26 + !byte 40,25 + !byte 41,24 + !byte 42,23 + !byte 42,22 + !byte 42,21 + !byte 42,20 + !byte 42,19 + !byte 42,18 + !byte 42,17 + !byte 41,16 + !byte 41,15 + !byte 40,14 + !byte 39,13 + !byte 37,12 + !byte 36,11 + !byte 35,11 + !byte 33,10 + !byte 32,10 + !byte 30,9 + !byte 29,9 + !byte 28,9 + !byte 27,9 + !byte 26,9 + !byte 25,9 + !byte 23,9 + !byte 22,9 + !byte 21,9 + !byte 20,9 + !byte 19,9 + !byte 18,9 + !byte 16,10 + !byte 15,10 + !byte 14,10 + !byte 13,11 + !byte 12,11 + !byte 11,12 + !byte 10,12 + !byte 9,13 + !byte 8,14 + !byte 7,15 + !byte 6,16 + !byte 6,17 + !byte 5,18 + !byte 5,19 + !byte 5,20 + !byte 5,21 + !byte 5,22 + !byte 6,23 + !byte 6,24 + !byte 7,25 + !byte 8,26 + !byte 9,27 + !byte 10,28 + !byte 12,29 + !byte 14,30 + !byte 15,30 + !byte 17,31 + !byte 18,31 + !byte 19,31 + !byte 29,31 + !byte 30,31 + !byte 31,31 + !byte 33,30 + !byte 34,30 + !byte 36,29 + !byte 37,29 + !byte 38,28 + !byte 39,27 + !byte 40,27 + !byte 41,26 + !byte 41,25 + !byte 42,25 + !byte 42,24 + !byte 43,23 + !byte 43,22 + !byte 43,21 + !byte 43,20 + !byte 43,19 + !byte 43,18 + !byte 43,17 + !byte 42,16 + !byte 42,15 + !byte 41,14 + !byte 40,13 + !byte 39,12 + !byte 38,12 + !byte 37,11 + !byte 35,10 + !byte 34,10 + !byte 32,9 + !byte 31,9 + !byte 27,8 + !byte 26,8 + !byte 25,8 + !byte 24,8 + !byte 23,8 + !byte 22,8 + !byte 21,8 + !byte 20,8 + !byte 17,9 + !byte 16,9 + !byte 15,9 + !byte 13,10 + !byte 11,11 + !byte 10,11 + !byte 9,12 + !byte 8,13 + !byte 7,14 + !byte 6,15 + !byte 5,16 + !byte 5,17 + !byte 4,18 + !byte 4,19 + !byte 4,20 + !byte 4,21 + !byte 4,22 + !byte 5,23 + !byte 5,24 + !byte 6,25 + !byte 6,26 + !byte 7,26 + !byte 8,27 + !byte 9,28 + !byte 10,29 + !byte 11,29 + !byte 12,30 + !byte 13,30 + !byte 15,31 + !byte 16,31 + !byte 19,32 + !byte 20,32 + !byte 21,32 + !byte 22,32 + !byte 23,32 + !byte 24,32 + !byte 25,32 + !byte 26,32 + !byte 27,32 + !byte 28,32 + !byte 29,32 + !byte 30,32 + !byte 32,31 + !byte 33,31 + !byte 34,31 + !byte 35,30 + !byte 36,30 + !byte 38,29 + !byte 39,28 + !byte 40,28 + !byte 41,27 + !byte 42,26 + !byte 43,25 + !byte 43,24 + !byte 44,23 + !byte 44,22 + !byte 44,21 + !byte 44,20 + !byte 44,19 + !byte 44,18 + !byte 44,17 + !byte 43,16 + !byte 43,15 + !byte 42,14 + !byte 41,13 + !byte 40,12 + !byte 38,11 + !byte 37,10 + !byte 36,10 + !byte 34,9 + !byte 33,9 + !byte 31,8 + !byte 30,8 + !byte 29,8 + !byte 28,8 + !byte 19,8 + !byte 18,8 + !byte 17,8 + !byte 14,9 + !byte 13,9 + !byte 12,10 + !byte 11,10 + !byte 9,11 + !byte 8,12 + !byte 7,13 + !byte 6,13 + !byte 6,14 + !byte 5,15 + !byte 4,16 + !byte 4,17 + !byte 3,18 + !byte 3,19 + !byte 3,20 + !byte 3,21 + !byte 3,22 + !byte 4,23 + !byte 4,24 + !byte 5,25 + !byte 5,26 + !byte 6,27 + !byte 7,27 + !byte 7,28 + !byte 8,28 + !byte 9,29 + !byte 10,30 + !byte 11,30 + !byte 13,31 + !byte 14,31 + !byte 16,32 + !byte 17,32 + !byte 18,32 + !byte 22,33 + !byte 23,33 + !byte 24,33 + !byte 25,33 + !byte 26,33 + !byte 27,33 + !byte 31,32 + !byte 32,32 + !byte 33,32 + !byte 35,31 + !byte 36,31 + !byte 37,30 + !byte 38,30 + !byte 39,29 + !byte 40,29 + !byte 41,28 + !byte 42,27 + !byte 43,26 + !byte 44,25 + !byte 44,24 + !byte 45,23 + !byte 45,22 + !byte 45,21 + !byte 45,20 + !byte 45,19 + !byte 45,18 + !byte 45,17 + !byte 44,16 + !byte 44,15 + !byte 43,14 + !byte 42,13 + !byte 41,12 + !byte 40,11 + !byte 39,11 + !byte 38,10 + !byte 36,9 + !byte 35,9 + !byte 34,8 + !byte 33,8 + !byte 32,8 + !byte 29,7 + !byte 28,7 + !byte 27,7 + !byte 26,7 + !byte 25,7 + !byte 24,7 + !byte 23,7 + !byte 22,7 + !byte 21,7 + !byte 20,7 + !byte 19,7 + !byte 16,8 + !byte 15,8 + !byte 14,8 + !byte 12,9 + !byte 11,9 + !byte 10,10 + !byte 9,10 + !byte 8,11 + !byte 7,12 + !byte 6,12 + !byte 5,13 + !byte 5,14 + !byte 4,14 + !byte 4,15 + !byte 3,16 + !byte 3,17 + !byte 2,18 + !byte 2,19 + !byte 2,20 + !byte 2,21 + !byte 2,22 + !byte 3,23 + !byte 3,24 + !byte 4,25 + !byte 4,26 + !byte 5,27 + !byte 6,28 + !byte 7,29 + !byte 8,29 + !byte 9,30 + !byte 11,31 + !byte 12,31 + !byte 13,32 + !byte 14,32 + !byte 15,32 + !byte 17,33 + !byte 18,33 + !byte 19,33 + !byte 20,33 + !byte 21,33 + !byte 28,33 + !byte 29,33 + !byte 30,33 + !byte 31,33 + !byte 34,32 + !byte 35,32 + !byte 37,31 + !byte 39,30 + !byte 41,29 + !byte 42,28 + !byte 43,27 + !byte 44,26 + !byte 45,25 + !byte 45,24 + !byte 46,23 + !byte 46,22 + !byte 46,21 + !byte 46,20 + !byte 46,19 + !byte 46,18 + !byte 46,17 + !byte 45,16 + !byte 45,15 + !byte 44,14 + !byte 43,13 + !byte 42,12 + !byte 41,11 + !byte 40,10 + !byte 39,10 + !byte 38,9 + !byte 37,9 + !byte 35,8 + !byte 32,7 + !byte 31,7 + !byte 30,7 + !byte 24,6 + !byte 18,7 + !byte 17,7 + !byte 16,7 + !byte 13,8 + !byte 12,8 + !byte 10,9 + !byte 8,10 + !byte 7,11 + !byte 6,11 + !byte 5,12 + !byte 4,13 + !byte 3,14 + !byte 3,15 + !byte 2,16 + !byte 2,17 + !byte 1,18 + !byte 1,19 + !byte 1,20 + !byte 1,21 + !byte 1,22 + !byte 2,23 + !byte 2,24 + !byte 2,25 + !byte 3,25 + !byte 3,26 + !byte 4,27 + !byte 5,28 + !byte 6,29 + !byte 8,30 + !byte 9,31 + !byte 10,31 + !byte 12,32 + !byte 15,33 + !byte 16,33 + !byte 20,34 + !byte 21,34 + !byte 22,34 + !byte 23,34 + !byte 24,34 + !byte 25,34 + !byte 26,34 + !byte 27,34 + !byte 28,34 + !byte 29,34 + !byte 32,33 + !byte 33,33 + !byte 34,33 + !byte 36,32 + !byte 37,32 + !byte 38,31 + !byte 39,31 + !byte 40,30 + !byte 41,30 + !byte 42,29 + !byte 43,28 + !byte 44,27 + !byte 45,26 + !byte 46,25 + !byte 46,24 + !byte 47,23 + !byte 47,22 + !byte 47,21 + !byte 47,20 + !byte 47,19 + !byte 47,18 + !byte 47,17 + !byte 46,16 + !byte 46,15 + !byte 45,14 + !byte 45,13 + !byte 44,13 + !byte 44,12 + !byte 43,12 + !byte 43,11 + !byte 42,11 + !byte 41,10 + !byte 39,9 + !byte 37,8 + !byte 36,8 + !byte 34,7 + !byte 33,7 + !byte 30,6 + !byte 29,6 + !byte 28,6 + !byte 27,6 + !byte 26,6 + !byte 25,6 + !byte 23,6 + !byte 22,6 + !byte 21,6 + !byte 20,6 + !byte 19,6 + !byte 18,6 + !byte 17,6 + !byte 15,7 + !byte 14,7 + !byte 13,7 + !byte 11,8 + !byte 10,8 + !byte 9,9 + !byte 8,9 + !byte 7,10 + !byte 5,11 + !byte 4,12 + !byte 3,13 + !byte 2,14 + !byte 2,15 + !byte 1,16 + !byte 1,17 + !byte 0,18 + !byte 0,19 + !byte 0,20 + !byte 0,21 + !byte 0,22 + !byte 1,23 + !byte 1,24 + !byte 1,25 + !byte 2,26 + !byte 3,27 + !byte 4,28 + !byte 5,29 + !byte 6,30 + !byte 7,30 + !byte 8,31 + !byte 10,32 + !byte 11,32 + !byte 12,33 + !byte 13,33 + !byte 14,33 + !byte 16,34 + !byte 17,34 + !byte 18,34 + !byte 19,34 + !byte 30,34 + !byte 31,34 + !byte 32,34 + !byte 35,33 + !byte 36,33 + !byte 38,32 + !byte 40,31 + !byte 41,31 + !byte 42,30 + !byte 43,29 + !byte 44,28 + !byte 45,28 + !byte 45,27 + !byte 46,26 + !byte 47,25 + !byte 47,24 + !byte 47,16 + !byte 47,15 + !byte 46,14 + !byte 46,13 + !byte 45,12 + !byte 44,11 + !byte 42,10 + !byte 41,9 + !byte 40,9 + !byte 39,8 + !byte 38,8 + !byte 37,7 + !byte 36,7 + !byte 35,7 + !byte 33,6 + !byte 32,6 + !byte 31,6 + !byte 28,5 + !byte 27,5 + !byte 26,5 + !byte 25,5 + !byte 24,5 + !byte 23,5 + !byte 22,5 + !byte 21,5 + !byte 20,5 + !byte 16,6 + !byte 15,6 + !byte 14,6 + !byte 12,7 + !byte 11,7 + !byte 9,8 + !byte 7,9 + !byte 6,10 + !byte 5,10 + !byte 4,11 + !byte 3,12 + !byte 2,13 + !byte 1,14 + !byte 1,15 + !byte 0,15 + !byte 0,16 + !byte 0,17 + !byte 0,23 + !byte 0,24 + !byte 0,25 + !byte 1,26 + !byte 2,27 + !byte 3,28 + !byte 4,29 + !byte 5,30 + !byte 6,31 + !byte 7,31 + !byte 8,32 + !byte 9,32 + !byte 10,33 + !byte 11,33 + !byte 13,34 + !byte 14,34 + !byte 15,34 + !byte 18,35 + !byte 19,35 + !byte 20,35 + !byte 21,35 + !byte 22,35 + !byte 23,35 + !byte 24,35 + !byte 25,35 + !byte 26,35 + !byte 27,35 + !byte 28,35 + !byte 29,35 + !byte 30,35 + !byte 31,35 + !byte 33,34 + !byte 34,34 + !byte 35,34 + !byte 37,33 + !byte 38,33 + !byte 39,32 + !byte 40,32 + !byte 42,31 + !byte 43,30 + !byte 44,29 + !byte 45,29 + !byte 46,28 + !byte 46,27 + !byte 47,27 + !byte 47,26 + !byte 47,14 + !byte 47,13 + !byte 46,12 + !byte 45,11 + !byte 44,10 + !byte 43,10 + !byte 42,9 + !byte 41,8 + !byte 40,8 + !byte 38,7 + !byte 36,6 + !byte 35,6 + !byte 34,6 + !byte 32,5 + !byte 31,5 + !byte 30,5 + !byte 29,5 + !byte 19,5 + !byte 18,5 + !byte 17,5 + !byte 16,5 + !byte 13,6 + !byte 12,6 + !byte 10,7 + !byte 9,7 + !byte 8,8 + !byte 7,8 + !byte 6,9 + !byte 5,9 + !byte 4,10 + !byte 3,11 + !byte 2,12 + !byte 1,13 + !byte 0,14 + !byte 0,26 + !byte 1,27 + !byte 2,28 + !byte 3,29 + !byte 4,30 + !byte 5,31 + !byte 7,32 + !byte 9,33 + !byte 11,34 + !byte 12,34 + !byte 15,35 + !byte 16,35 + !byte 17,35 + !byte 21,36 + !byte 22,36 + !byte 23,36 + !byte 24,36 + !byte 25,36 + !byte 26,36 + !byte 27,36 + !byte 32,35 + !byte 33,35 + !byte 34,35 + !byte 36,34 + !byte 37,34 + !byte 39,33 + !byte 40,33 + !byte 41,32 + !byte 42,32 + !byte 43,31 + !byte 44,30 + !byte 45,30 + !byte 46,29 + !byte 47,28 + !byte 47,12 + !byte 46,11 + !byte 45,10 + !byte 44,9 + !byte 43,9 + !byte 42,8 + !byte 40,7 + !byte 39,7 + !byte 38,6 + !byte 37,6 + !byte 35,5 + !byte 34,5 + !byte 33,5 + !byte 29,4 + !byte 28,4 + !byte 27,4 + !byte 26,4 + !byte 25,4 + !byte 24,4 + !byte 23,4 + !byte 22,4 + !byte 21,4 + !byte 20,4 + !byte 19,4 + !byte 18,4 + !byte 15,5 + !byte 14,5 + !byte 13,5 + !byte 11,6 + !byte 10,6 + !byte 8,7 + !byte 6,8 + !byte 4,9 + !byte 3,10 + !byte 2,11 + !byte 1,11 + !byte 1,12 + !byte 0,12 + !byte 0,13 + !byte 0,27 + !byte 0,28 + !byte 1,28 + !byte 1,29 + !byte 2,29 + !byte 2,30 + !byte 3,30 + !byte 4,31 + !byte 5,32 + !byte 6,32 + !byte 7,33 + !byte 8,33 + !byte 9,34 + !byte 10,34 + !byte 12,35 + !byte 13,35 + !byte 14,35 + !byte 17,36 + !byte 18,36 + !byte 19,36 + !byte 20,36 + !byte 28,36 + !byte 29,36 + !byte 30,36 + !byte 31,36 + !byte 32,36 + !byte 35,35 + !byte 36,35 + !byte 38,34 + !byte 39,34 + !byte 41,33 + !byte 43,32 + !byte 44,31 + !byte 45,31 + !byte 46,30 + !byte 47,29 + !byte 47,11 + !byte 46,10 + !byte 45,9 + !byte 43,8 + !byte 42,7 + !byte 41,7 + !byte 39,6 + !byte 37,5 + !byte 36,5 + !byte 33,4 + !byte 32,4 + !byte 31,4 + !byte 30,4 + !byte 24,3 + !byte 17,4 + !byte 16,4 + !byte 15,4 + !byte 12,5 + !byte 11,5 + !byte 9,6 + !byte 8,6 + !byte 7,7 + !byte 6,7 + !byte 5,8 + !byte 4,8 + !byte 3,9 + !byte 2,10 + !byte 1,10 + !byte 0,11 + !byte 0,29 + !byte 1,30 + !byte 2,31 + !byte 3,31 + !byte 4,32 + !byte 6,33 + !byte 8,34 + !byte 10,35 + !byte 11,35 + !byte 14,36 + !byte 15,36 + !byte 16,36 + !byte 19,37 + !byte 20,37 + !byte 21,37 + !byte 22,37 + !byte 23,37 + !byte 24,37 + !byte 25,37 + !byte 26,37 + !byte 27,37 + !byte 28,37 + !byte 29,37 + !byte 33,36 + !byte 34,36 + !byte 35,36 + !byte 37,35 + !byte 38,35 + !byte 40,34 + !byte 41,34 + !byte 42,33 + !byte 43,33 + !byte 44,32 + !byte 45,32 + !byte 46,31 + !byte 47,30 + !byte 47,10 + !byte 46,9 + !byte 45,8 + !byte 44,8 + !byte 43,7 + !byte 41,6 + !byte 40,6 + !byte 39,5 + !byte 38,5 + !byte 36,4 + !byte 35,4 + !byte 34,4 + !byte 31,3 + !byte 30,3 + !byte 29,3 + !byte 28,3 + !byte 27,3 + !byte 26,3 + !byte 25,3 + !byte 23,3 + !byte 22,3 + !byte 21,3 + !byte 20,3 + !byte 19,3 + !byte 18,3 + !byte 17,3 + !byte 16,3 + !byte 14,4 + !byte 13,4 + !byte 12,4 + !byte 10,5 + !byte 9,5 + !byte 7,6 + !byte 5,7 + !byte 4,7 + !byte 3,8 + !byte 2,9 + !byte 1,9 + !byte 0,10 + !byte 0,30 + !byte 1,31 + !byte 3,32 + !byte 4,33 + !byte 5,33 + !byte 6,34 + !byte 7,34 + !byte 8,35 + !byte 9,35 + !byte 11,36 + !byte 12,36 + !byte 13,36 + !byte 15,37 + !byte 16,37 + !byte 17,37 + !byte 18,37 + !byte 30,37 + !byte 31,37 + !byte 32,37 + !byte 33,37 + !byte 36,36 + !byte 37,36 + !byte 39,35 + !byte 40,35 + !byte 42,34 + !byte 44,33 + !byte 46,32 + !byte 47,31 + !byte 47,9 + !byte 46,8 + !byte 45,7 + !byte 44,7 + !byte 43,6 + !byte 42,6 + !byte 41,5 + !byte 40,5 + !byte 38,4 + !byte 37,4 + !byte 34,3 + !byte 33,3 + !byte 32,3 + !byte 28,2 + !byte 27,2 + !byte 26,2 + !byte 25,2 + !byte 24,2 + !byte 23,2 + !byte 22,2 + !byte 21,2 + !byte 20,2 + !byte 19,2 + !byte 15,3 + !byte 14,3 + !byte 13,3 + !byte 11,4 + !byte 10,4 + !byte 8,5 + !byte 7,5 + !byte 6,6 + !byte 5,6 + !byte 3,7 + !byte 2,8 + !byte 1,8 + !byte 0,9 + !byte 0,31 + !byte 1,32 + !byte 2,32 + !byte 3,33 + !byte 4,34 + !byte 5,34 + !byte 6,35 + !byte 7,35 + !byte 9,36 + !byte 10,36 + !byte 12,37 + !byte 13,37 + !byte 14,37 + !byte 17,38 + !byte 18,38 + !byte 19,38 + !byte 20,38 + !byte 21,38 + !byte 22,38 + !byte 23,38 + !byte 24,38 + !byte 25,38 + !byte 26,38 + !byte 27,38 + !byte 28,38 + !byte 29,38 + !byte 30,38 + !byte 31,38 + !byte 34,37 + !byte 35,37 + !byte 36,37 + !byte 38,36 + !byte 39,36 + !byte 41,35 + !byte 42,35 + !byte 43,34 + !byte 44,34 + !byte 45,33 + !byte 46,33 + !byte 47,32 + !byte 47,8 + !byte 46,7 + !byte 44,6 + !byte 42,5 + !byte 40,4 + !byte 39,4 + !byte 37,3 + !byte 36,3 + !byte 35,3 + !byte 33,2 + !byte 32,2 + !byte 31,2 + !byte 30,2 + !byte 29,2 + !byte 18,2 + !byte 17,2 + !byte 16,2 + !byte 15,2 + !byte 12,3 + !byte 11,3 + !byte 9,4 + !byte 8,4 + !byte 6,5 + !byte 5,5 + !byte 4,6 + !byte 3,6 + !byte 2,7 + !byte 0,8 + !byte 0,32 + !byte 1,33 + !byte 2,33 + !byte 3,34 + !byte 5,35 + !byte 7,36 + !byte 8,36 + !byte 10,37 + !byte 11,37 + !byte 14,38 + !byte 15,38 + !byte 16,38 + !byte 21,39 + !byte 22,39 + !byte 23,39 + !byte 24,39 + !byte 25,39 + !byte 26,39 + !byte 27,39 + !byte 32,38 + !byte 33,38 + !byte 34,38 + !byte 37,37 + !byte 38,37 + !byte 40,36 + !byte 41,36 + !byte 43,35 + !byte 44,35 + !byte 45,34 + !byte 47,33 + !byte 47,7 + !byte 46,6 + !byte 45,6 + !byte 44,5 + !byte 43,5 + !byte 42,4 + !byte 41,4 + !byte 39,3 + !byte 38,3 + !byte 35,2 + !byte 34,2 + !byte 30,1 + !byte 29,1 + !byte 28,1 + !byte 27,1 + !byte 26,1 + !byte 25,1 + !byte 24,1 + !byte 23,1 + !byte 22,1 + !byte 21,1 + !byte 20,1 + !byte 19,1 + !byte 18,1 + !byte 14,2 + !byte 13,2 + !byte 12,2 + !byte 10,3 + !byte 9,3 + !byte 7,4 + !byte 6,4 + !byte 4,5 + !byte 2,6 + !byte 1,7 + !byte 0,7 + !byte 0,33 + !byte 1,34 + !byte 2,34 + !byte 3,35 + !byte 4,35 + !byte 5,36 + !byte 6,36 + !byte 8,37 + !byte 9,37 + !byte 11,38 + !byte 12,38 + !byte 13,38 + !byte 16,39 + !byte 17,39 + !byte 18,39 + !byte 19,39 + !byte 20,39 + !byte 28,39 + !byte 29,39 + !byte 30,39 + !byte 31,39 + !byte 32,39 + !byte 33,39 + !byte 35,38 + !byte 36,38 + !byte 37,38 + !byte 39,37 + !byte 40,37 + !byte 42,36 + !byte 43,36 + !byte 45,35 + !byte 46,34 + !byte 47,34 + !byte 47,6 + !byte 45,5 + !byte 43,4 + !byte 41,3 + !byte 40,3 + !byte 38,2 + !byte 37,2 + !byte 36,2 + !byte 34,1 + !byte 33,1 + !byte 32,1 + !byte 31,1 + !byte 24,0 + !byte 17,1 + !byte 16,1 + !byte 15,1 + !byte 14,1 + !byte 11,2 + !byte 10,2 + !byte 8,3 + !byte 7,3 + !byte 5,4 + !byte 4,4 + !byte 3,5 + !byte 2,5 + !byte 1,6 + !byte 0,6 + !byte 0,34 + !byte 2,35 + !byte 4,36 + !byte 6,37 + !byte 7,37 + !byte 9,38 + !byte 10,38 + !byte 13,39 + !byte 14,39 + !byte 15,39 + !byte 34,39 + !byte 35,39 + !byte 36,39 + !byte 38,38 + !byte 39,38 + !byte 41,37 + !byte 42,37 + !byte 44,36 + !byte 45,36 + !byte 46,35 + !byte 47,35 + !byte 47,5 + !byte 46,5 + !byte 45,4 + !byte 44,4 + !byte 43,3 + !byte 42,3 + !byte 40,2 + !byte 39,2 + !byte 37,1 + !byte 36,1 + !byte 35,1 + !byte 32,0 + !byte 31,0 + !byte 30,0 + !byte 29,0 + !byte 28,0 + !byte 27,0 + !byte 26,0 + !byte 25,0 + !byte 23,0 + !byte 22,0 + !byte 21,0 + !byte 20,0 + !byte 19,0 + !byte 18,0 + !byte 17,0 + !byte 16,0 + !byte 13,1 + !byte 12,1 + !byte 11,1 + !byte 9,2 + !byte 8,2 + !byte 6,3 + !byte 5,3 + !byte 3,4 + !byte 1,5 + !byte 0,35 + !byte 1,35 + !byte 2,36 + !byte 3,36 + !byte 4,37 + !byte 5,37 + !byte 7,38 + !byte 8,38 + !byte 10,39 + !byte 11,39 + !byte 12,39 + !byte 37,39 + !byte 38,39 + !byte 40,38 + !byte 41,38 + !byte 43,37 + !byte 44,37 + !byte 46,36 + !byte 47,4 + !byte 46,4 + !byte 45,3 + !byte 44,3 + !byte 42,2 + !byte 41,2 + !byte 39,1 + !byte 38,1 + !byte 35,0 + !byte 34,0 + !byte 33,0 + !byte 15,0 + !byte 14,0 + !byte 13,0 + !byte 12,0 + !byte 10,1 + !byte 9,1 + !byte 8,1 + !byte 7,2 + !byte 6,2 + !byte 4,3 + !byte 3,3 + !byte 2,4 + !byte 1,4 + !byte 0,5 + !byte 1,36 + !byte 3,37 + !byte 5,38 + !byte 6,38 + !byte 8,39 + !byte 9,39 + !byte 39,39 + !byte 40,39 + !byte 41,39 + !byte 42,38 + !byte 43,38 + !byte 45,37 + !byte 46,37 + !byte 47,36 + !byte 46,3 + !byte 44,2 + !byte 43,2 + !byte 41,1 + !byte 40,1 + !byte 38,0 + !byte 37,0 + !byte 36,0 + !byte 11,0 + !byte 10,0 + !byte 7,1 + !byte 6,1 + !byte 5,2 + !byte 4,2 + !byte 2,3 + !byte 1,3 + !byte 0,4 + !byte 0,36 + !byte 1,37 + !byte 2,37 + !byte 3,38 + !byte 4,38 + !byte 6,39 + !byte 7,39 + !byte 42,39 + !byte 43,39 + !byte 44,38 + !byte 45,38 + !byte 47,37 + !byte 47,3 + !byte 46,2 + !byte 45,2 + !byte 43,1 + !byte 42,1 + !byte 40,0 + !byte 39,0 + !byte 9,0 + !byte 8,0 + !byte 7,0 + !byte 5,1 + !byte 4,1 + !byte 3,2 + !byte 2,2 + !byte 0,3 + !byte 0,37 + !byte 2,38 + !byte 4,39 + !byte 5,39 + !byte 44,39 + !byte 46,38 + !byte 47,38 + !byte 47,2 + !byte 45,1 + !byte 44,1 + !byte 42,0 + !byte 41,0 + !byte 6,0 + !byte 5,0 + !byte 3,1 + !byte 1,2 + !byte 0,2 + !byte 0,38 + !byte 1,38 + !byte 2,39 + !byte 3,39 + !byte 45,39 + !byte 46,39 + !byte 47,1 + !byte 46,1 + !byte 44,0 + !byte 43,0 + !byte 4,0 + !byte 3,0 + !byte 2,1 + !byte 1,1 + !byte 0,39 + !byte 1,39 + !byte 47,39 + !byte 46,0 + !byte 45,0 + !byte 2,0 + !byte 1,0 + !byte 0,1 + !byte 47,0 + !byte 0,0