Compare commits
2
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fe9072221b | ||
|
|
b78b24d679 |
No files matched your search
@@ -0,0 +1,66 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="169.33333mm"
|
||||||
|
height="127mm"
|
||||||
|
viewBox="0 0 169.33333 127"
|
||||||
|
version="1.1"
|
||||||
|
id="svg1"
|
||||||
|
sodipodi:docname="480p.svg"
|
||||||
|
inkscape:version="1.4.4 (dcaf3e7d9e, 2026-05-05)"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview1"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:document-units="mm"
|
||||||
|
showguides="false"
|
||||||
|
inkscape:zoom="2.7665553"
|
||||||
|
inkscape:cx="225.73198"
|
||||||
|
inkscape:cy="268.56503"
|
||||||
|
inkscape:window-width="3433"
|
||||||
|
inkscape:window-height="2076"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="layer1">
|
||||||
|
<inkscape:page
|
||||||
|
x="0"
|
||||||
|
y="0"
|
||||||
|
width="169.33333"
|
||||||
|
height="127"
|
||||||
|
id="page2"
|
||||||
|
margin="0"
|
||||||
|
bleed="0" />
|
||||||
|
</sodipodi:namedview>
|
||||||
|
<defs
|
||||||
|
id="defs1" />
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1">
|
||||||
|
<rect
|
||||||
|
style="fill:#808080;stroke-width:0.264583"
|
||||||
|
id="rect1"
|
||||||
|
width="63.5"
|
||||||
|
height="127"
|
||||||
|
x="17.991667"
|
||||||
|
y="0" />
|
||||||
|
<rect
|
||||||
|
style="fill:#808080;stroke-width:0.264583"
|
||||||
|
id="rect1-3"
|
||||||
|
width="63.5"
|
||||||
|
height="127"
|
||||||
|
x="87.841667"
|
||||||
|
y="0" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.7 KiB |
@@ -9,79 +9,175 @@ n0 = [
|
|||||||
[1,1,1]
|
[1,1,1]
|
||||||
]
|
]
|
||||||
|
|
||||||
n1 = [
|
n_x = [
|
||||||
|
[0,0,0],
|
||||||
|
[0,0,0],
|
||||||
|
[1,0,1],
|
||||||
[0,1,0],
|
[0,1,0],
|
||||||
[1,1,0],
|
[1,0,1]
|
||||||
[0,1,0],
|
|
||||||
[0,1,0],
|
|
||||||
[1,1,1]
|
|
||||||
]
|
]
|
||||||
|
|
||||||
n2 = [
|
hexnumbers = [
|
||||||
[1,1,1],
|
[ # 0
|
||||||
[0,0,1],
|
[1,1,1],
|
||||||
[1,1,1],
|
[1,0,1],
|
||||||
[1,0,0],
|
[1,0,1],
|
||||||
[1,1,1]
|
[1,0,1],
|
||||||
]
|
[1,1,1]
|
||||||
|
],
|
||||||
|
|
||||||
n3 = [
|
[ # 1
|
||||||
[1,1,1],
|
[0,1,0],
|
||||||
[0,0,1],
|
[1,1,0],
|
||||||
[1,1,1],
|
[0,1,0],
|
||||||
[0,0,1],
|
[0,1,0],
|
||||||
[1,1,1]
|
[1,1,1]
|
||||||
]
|
],
|
||||||
|
|
||||||
n4 = [
|
[ # 2
|
||||||
[1,0,1],
|
[1,1,1],
|
||||||
[1,0,1],
|
[0,0,1],
|
||||||
[1,1,1],
|
[1,1,1],
|
||||||
[0,0,1],
|
[1,0,0],
|
||||||
[0,0,1]
|
[1,1,1]
|
||||||
]
|
],
|
||||||
|
|
||||||
n5 = [
|
[ # 3
|
||||||
[1,1,1],
|
[1,1,1],
|
||||||
[1,0,0],
|
[0,0,1],
|
||||||
[1,1,1],
|
[1,1,1],
|
||||||
[0,0,1],
|
[0,0,1],
|
||||||
[1,1,1]
|
[1,1,1]
|
||||||
]
|
],
|
||||||
|
|
||||||
n6 = [
|
[ # 4
|
||||||
[1,1,1],
|
[1,0,1],
|
||||||
[1,0,0],
|
[1,0,1],
|
||||||
[1,1,1],
|
[1,1,1],
|
||||||
[1,0,1],
|
[0,0,1],
|
||||||
[1,1,1]
|
[0,0,1]
|
||||||
]
|
],
|
||||||
|
|
||||||
n7 = [
|
[ # 5
|
||||||
[1,1,1],
|
[1,1,1],
|
||||||
[0,0,1],
|
[1,0,0],
|
||||||
[0,0,1],
|
[1,1,1],
|
||||||
[0,0,1],
|
[0,0,1],
|
||||||
[0,0,1]
|
[1,1,1]
|
||||||
]
|
],
|
||||||
|
|
||||||
n8 = [
|
[ # 6
|
||||||
[1,1,1],
|
[1,1,1],
|
||||||
[1,0,1],
|
[1,0,0],
|
||||||
[1,1,1],
|
[1,1,1],
|
||||||
[1,0,1],
|
[1,0,1],
|
||||||
[1,1,1]
|
[1,1,1]
|
||||||
]
|
],
|
||||||
|
|
||||||
n9 = [
|
[ # 7
|
||||||
[1,1,1],
|
[1,1,1],
|
||||||
[1,0,1],
|
[0,0,1],
|
||||||
[1,1,1],
|
[0,0,1],
|
||||||
[0,0,1],
|
[0,0,1],
|
||||||
[1,1,1]
|
[0,0,1]
|
||||||
|
],
|
||||||
|
|
||||||
|
[ # 8
|
||||||
|
[1,1,1],
|
||||||
|
[1,0,1],
|
||||||
|
[1,1,1],
|
||||||
|
[1,0,1],
|
||||||
|
[1,1,1]
|
||||||
|
],
|
||||||
|
|
||||||
|
[ # 9
|
||||||
|
[1,1,1],
|
||||||
|
[1,0,1],
|
||||||
|
[1,1,1],
|
||||||
|
[0,0,1],
|
||||||
|
[1,1,1]
|
||||||
|
],
|
||||||
|
|
||||||
|
[ # A (10)
|
||||||
|
[1,1,1],
|
||||||
|
[1,0,1],
|
||||||
|
[1,1,1],
|
||||||
|
[1,0,1],
|
||||||
|
[1,0,1]
|
||||||
|
],
|
||||||
|
|
||||||
|
[ # B (11)
|
||||||
|
[1,1,0],
|
||||||
|
[1,0,1],
|
||||||
|
[1,1,0],
|
||||||
|
[1,0,1],
|
||||||
|
[1,1,0]
|
||||||
|
],
|
||||||
|
|
||||||
|
[ # C (12)
|
||||||
|
[1,1,1],
|
||||||
|
[1,0,0],
|
||||||
|
[1,0,0],
|
||||||
|
[1,0,0],
|
||||||
|
[1,1,1]
|
||||||
|
],
|
||||||
|
|
||||||
|
[ # D (13)
|
||||||
|
[1,1,0],
|
||||||
|
[1,0,1],
|
||||||
|
[1,0,1],
|
||||||
|
[1,0,1],
|
||||||
|
[1,1,0]
|
||||||
|
],
|
||||||
|
|
||||||
|
[ # E (14)
|
||||||
|
[1,1,1],
|
||||||
|
[1,0,0],
|
||||||
|
[1,1,1],
|
||||||
|
[1,0,0],
|
||||||
|
[1,1,1]
|
||||||
|
],
|
||||||
|
|
||||||
|
[ # F (15)
|
||||||
|
[1,1,1],
|
||||||
|
[1,0,0],
|
||||||
|
[1,1,1],
|
||||||
|
[1,0,0],
|
||||||
|
[1,0,0]
|
||||||
|
]
|
||||||
]
|
]
|
||||||
|
|
||||||
### FONT: https://github.com/teryror/pixel-fonts/tree/master
|
### FONT: https://github.com/teryror/pixel-fonts/tree/master
|
||||||
|
a_p = [
|
||||||
|
[1,1,1,1,1,0],
|
||||||
|
[1,1,0,0,1,1],
|
||||||
|
[1,1,0,0,1,1],
|
||||||
|
[1,1,0,0,1,1],
|
||||||
|
[1,1,1,1,1,0],
|
||||||
|
[1,1,0,0,0,0],
|
||||||
|
[1,1,0,0,0,0],
|
||||||
|
[1,1,0,0,0,0]
|
||||||
|
]
|
||||||
|
a_1 = [
|
||||||
|
[0,0,0,1,1,0],
|
||||||
|
[0,0,1,1,1,0],
|
||||||
|
[0,1,1,1,1,0],
|
||||||
|
[1,1,0,1,1,0],
|
||||||
|
[0,0,0,1,1,0],
|
||||||
|
[0,0,0,1,1,0],
|
||||||
|
[0,0,0,1,1,0],
|
||||||
|
[0,0,0,1,1,0]
|
||||||
|
]
|
||||||
|
a_2 = [
|
||||||
|
[0,1,1,1,1,0],
|
||||||
|
[1,1,0,0,1,1],
|
||||||
|
[0,0,0,0,1,1],
|
||||||
|
[0,0,0,1,1,0],
|
||||||
|
[0,0,1,1,0,0],
|
||||||
|
[0,1,1,0,0,0],
|
||||||
|
[1,1,0,0,0,0],
|
||||||
|
[1,1,1,1,1,1]
|
||||||
|
]
|
||||||
|
|
||||||
a_s = [
|
a_s = [
|
||||||
[0,1,1,1,1,0],
|
[0,1,1,1,1,0],
|
||||||
@@ -94,6 +190,28 @@ a_s = [
|
|||||||
[0,1,1,1,1,0]
|
[0,1,1,1,1,0]
|
||||||
]
|
]
|
||||||
|
|
||||||
|
a_h = [
|
||||||
|
[1,1,0,0,1,1],
|
||||||
|
[1,1,0,0,1,1],
|
||||||
|
[1,1,0,0,1,1],
|
||||||
|
[1,1,1,1,1,1],
|
||||||
|
[1,1,0,0,1,1],
|
||||||
|
[1,1,0,0,1,1],
|
||||||
|
[1,1,0,0,1,1],
|
||||||
|
[1,1,0,0,1,1]
|
||||||
|
]
|
||||||
|
|
||||||
|
a_w = [
|
||||||
|
[1,1,0,0,1,0,0,1,1],
|
||||||
|
[1,1,0,0,1,0,0,1,1],
|
||||||
|
[1,1,0,1,1,1,0,1,1],
|
||||||
|
[1,1,1,1,1,1,1,1,1],
|
||||||
|
[0,1,1,1,0,1,1,1,0],
|
||||||
|
[0,1,1,1,0,1,1,1,0],
|
||||||
|
[0,1,1,0,0,0,1,1,0],
|
||||||
|
[0,0,1,0,0,0,1,0,0]
|
||||||
|
]
|
||||||
|
|
||||||
a_c = [
|
a_c = [
|
||||||
[0,1,1,1,1,0],
|
[0,1,1,1,1,0],
|
||||||
[1,1,1,0,1,1],
|
[1,1,1,0,1,1],
|
||||||
@@ -229,6 +347,7 @@ def make_board(n: int):
|
|||||||
|
|
||||||
board.append(line)
|
board.append(line)
|
||||||
|
|
||||||
|
|
||||||
return board_height, board_width, board
|
return board_height, board_width, board
|
||||||
|
|
||||||
def make_sprite():
|
def make_sprite():
|
||||||
@@ -288,20 +407,34 @@ colors2 = [
|
|||||||
text_bg = black
|
text_bg = black
|
||||||
|
|
||||||
next_board = make_next_board()
|
next_board = make_next_board()
|
||||||
nb1 = coord(88, 96, 128, 128)
|
nb1 = coord(88, 104, 128, 128)
|
||||||
nb2 = coord(1064, 96, 128, 128)
|
next_board1 = make_next_board()
|
||||||
|
nb2 = coord(1064, 104, 128, 128)
|
||||||
|
|
||||||
board_height, board_width, board = make_board(len(colors))
|
board_height, board_width, board = make_board(len(colors))
|
||||||
b1 = coord(304, 40, 320, 640)
|
b1 = coord(304, 40, 320, 640)
|
||||||
board2_height, board2_width, board2 = make_board(len(colors2))
|
board2_height, board2_width, board2 = make_board(len(colors2))
|
||||||
b2 = coord(656, 40, 320, 640)
|
b2 = coord(656, 40, 320, 640)
|
||||||
|
|
||||||
|
score0 = make_score()
|
||||||
|
s1 = coord(84, 332, 136, 32)
|
||||||
|
sn1 = coord(74, 368, 156, 20)
|
||||||
score1 = make_score()
|
score1 = make_score()
|
||||||
s1 = coord(84, 454, 136, 32)
|
s2 = coord(1060, 332, 136, 32)
|
||||||
sn1 = coord(74, 490, 156, 20)
|
sn2 = coord(1050, 368, 156, 20)
|
||||||
score2 = make_score()
|
|
||||||
s2 = coord(1060, 454, 136, 32)
|
mm0 = coord(576, 155, 128, 128)
|
||||||
sn2 = coord(1050, 490, 156, 20)
|
mm1 = coord(576, 437, 128, 128)
|
||||||
|
|
||||||
|
lm0 = coord(120, 476, 58, 32)
|
||||||
|
lm1 = coord(120, 516, 58, 32)
|
||||||
|
lm2 = coord(120, 556, 64, 32)
|
||||||
|
lm3 = coord(120, 596, 64, 32)
|
||||||
|
|
||||||
|
rm0 = coord(1096, 476, 58, 32)
|
||||||
|
rm1 = coord(1096, 516, 58, 32)
|
||||||
|
rm2 = coord(1096, 556, 64, 32)
|
||||||
|
rm3 = coord(1096, 596, 64, 32)
|
||||||
|
|
||||||
width = 1280
|
width = 1280
|
||||||
height = 720
|
height = 720
|
||||||
@@ -310,22 +443,78 @@ img = Image.new("RGB", (width, height))
|
|||||||
|
|
||||||
pixels = img.load()
|
pixels = img.load()
|
||||||
|
|
||||||
|
menu = 1
|
||||||
|
|
||||||
for y in range(height):
|
for y in range(height):
|
||||||
for x in range(width):
|
for x in range(width):
|
||||||
####################### player 1
|
### BG
|
||||||
|
if (x+y)&1:
|
||||||
|
pixels[x, y] = (0, 0, 255)
|
||||||
|
else:
|
||||||
|
pixels[x, y] = ((x+y)>>3, (((1280+720)>>3)-((x+y)>>3)), 0)
|
||||||
|
####################### MENU
|
||||||
|
if menu and x >= mm0.x and x < (mm0.x + mm0.width) and y >= mm0.y and y < (mm0.y + mm0.height):
|
||||||
|
xd = x-mm0.x
|
||||||
|
yd = y-mm0.y
|
||||||
|
xs = xd >> 3
|
||||||
|
ys = yd >> 3
|
||||||
|
if x > mm0.x+3 and y>mm0.y+3 and xd<mm0.width-4 and yd<mm0.height-4:
|
||||||
|
if xs <ys*2 and xs<((mm0.width-8 >> 3)-ys)<<1 and xs >2:
|
||||||
|
pixels[x, y] = (255,255,255)
|
||||||
|
elif (xs == ys*2 or xs==((mm0.width-8 >> 3)-ys)<<1) and xs >2 and xs <14:
|
||||||
|
pixels[x, y] = (32,32,32)
|
||||||
|
else:
|
||||||
|
pixels[x, y] = black.get()
|
||||||
|
else:
|
||||||
|
pixels[x, y] = (128,128,128)
|
||||||
|
|
||||||
|
elif menu and x >= mm1.x and x < (mm1.x + mm1.width) and y >= mm1.y and y < (mm1.y + mm1.height):
|
||||||
|
xd = x-mm1.x-4
|
||||||
|
yd = y-mm1.y-4
|
||||||
|
xs = xd >> 3
|
||||||
|
ys = yd >> 3
|
||||||
|
if x > mm1.x+3 and y>mm1.y+3 and xd<mm1.width-8 and yd<mm1.height-8:
|
||||||
|
# vert/horizontal
|
||||||
|
if xs == 2 and ys < 10 and ys > 4: # left
|
||||||
|
pixels[x, y] = white.get()
|
||||||
|
elif xs == 11 and ys < 8 and ys > 4: # right
|
||||||
|
pixels[x, y] = white.get()
|
||||||
|
elif ys == 2 and xs < 10 and xs > 4: # top
|
||||||
|
pixels[x, y] = white.get()
|
||||||
|
elif ys == 12 and xs < 10 and xs > 4: # bot
|
||||||
|
pixels[x, y] = white.get()
|
||||||
|
# Orthogonal
|
||||||
|
elif xs+ys == 7 and xs >1 and ys >1: # top left
|
||||||
|
pixels[x, y] = white.get()
|
||||||
|
elif xs+ys == 21 and xs >8 and ys >9: # bot right
|
||||||
|
pixels[x, y] = white.get()
|
||||||
|
elif ys-xs == 7 and xs < 6 and ys > 8: # bot left
|
||||||
|
pixels[x, y] = white.get()
|
||||||
|
elif xs-ys == 7 and xs > 8 and ys < 5: # top right
|
||||||
|
pixels[x, y] = white.get()
|
||||||
|
# Arrow Head
|
||||||
|
elif xs-ys == 4 and xs > 8 and xs < 12: # left
|
||||||
|
pixels[x, y] = white.get()
|
||||||
|
elif xs+ys == 18 and xs > 10 and xs <14: # right
|
||||||
|
pixels[x, y] = white.get()
|
||||||
|
# Aliasing
|
||||||
|
elif (xs==ys==11) or (xs==ys==3) or (xs==11 and ys==3) or (xs==3 and ys==11):
|
||||||
|
pixels[x, y] = (32,32,32)
|
||||||
|
else:
|
||||||
|
pixels[x, y] = black.get()
|
||||||
|
else:
|
||||||
|
pixels[x, y] = (128,128,128)
|
||||||
|
####################### Left Side
|
||||||
### Board
|
### Board
|
||||||
if x>=b1.x and x<b1.x+b1.width and y>=b1.y and y<b1.y+b1.height:
|
elif x>=b1.x and x<b1.x+b1.width and y>=b1.y and y<b1.y+b1.height:
|
||||||
xd = x-b1.x
|
xd = x-b1.x
|
||||||
yd = y-b1.y
|
yd = y-b1.y
|
||||||
# pixels[x, y] = colors[board[yd>>5][xd>>5]].multiply(sprite_pixels[yd&0b0000000000011111, xd&0b0000000000011111])
|
|
||||||
xs = xd&0x1F
|
xs = xd&0x1F
|
||||||
ys = yd&0x1F
|
ys = yd&0x1F
|
||||||
if (xs > 7 and xs < 24) and (ys > 7 and ys < 24): # middle
|
if (xs > 7 and xs < 24) and (ys > 7 and ys < 24): # middle
|
||||||
pixels[x, y] = colors[board[yd>>5][xd>>5]].get()
|
pixels[x, y] = colors[board[yd>>5][xd>>5]].get()
|
||||||
elif (xs > 5 and xs < 26) and (ys > 5 and ys < 26): # mid boarder
|
elif (xs > 5 and xs < 26) and (ys > 5 and ys < 26): # mid boarder
|
||||||
pixels[x, y] = colors[board[yd>>5][xd>>5]].mask(0xFFFFFFB0)
|
pixels[x, y] = colors[board[yd>>5][xd>>5]].mask(0xFFFFFFB0)
|
||||||
# elif xs == ys or xs+ys==31:
|
|
||||||
# pixels[x, y] = colors[board[yd>>5][xd>>5]].shiftr(2)
|
|
||||||
elif xs+ys<31: # top left edge
|
elif xs+ys<31: # top left edge
|
||||||
if xs>ys:
|
if xs>ys:
|
||||||
pixels[x, y] = colors[board[yd>>5][xd>>5]].get()
|
pixels[x, y] = colors[board[yd>>5][xd>>5]].get()
|
||||||
@@ -342,16 +531,21 @@ for y in range(height):
|
|||||||
yd = y-nb1.y
|
yd = y-nb1.y
|
||||||
xs = xd&0x1F
|
xs = xd&0x1F
|
||||||
ys = yd&0x1F
|
ys = yd&0x1F
|
||||||
if (xs == 31) or (ys==31):
|
if (xs > 7 and xs < 24) and (ys > 7 and ys < 24): # middle
|
||||||
if (xs == 0) or (ys == 0):
|
|
||||||
pixels[x, y] = colors[next_board[yd>>5][xd>>5]].shiftr(1)
|
|
||||||
else:
|
|
||||||
pixels[x, y] = colors[next_board[yd>>5][xd>>5]].shiftr(2)
|
|
||||||
elif (not xs) or (not ys):
|
|
||||||
pixels[x, y] = colors[next_board[yd>>5][xd>>5]].get()
|
pixels[x, y] = colors[next_board[yd>>5][xd>>5]].get()
|
||||||
|
elif (xs > 5 and xs < 26) and (ys > 5 and ys < 26): # mid next_boarder
|
||||||
|
pixels[x, y] = colors[next_board[yd>>5][xd>>5]].mask(0xFFFFFFB0)
|
||||||
|
elif xs+ys<31: # top left edge
|
||||||
|
if xs>ys:
|
||||||
|
pixels[x, y] = colors[next_board[yd>>5][xd>>5]].get()
|
||||||
|
else:
|
||||||
|
pixels[x, y] = colors[next_board[yd>>5][xd>>5]].mask(0xFFFFFFEF)
|
||||||
else:
|
else:
|
||||||
pixels[x, y] = colors[next_board[yd>>5][xd>>5]].mask(0xFFFFFFC0)
|
if xs>ys:
|
||||||
### Score
|
pixels[x, y] = colors[next_board[yd>>5][xd>>5]].mask(0xFFFFFFD7)
|
||||||
|
else:
|
||||||
|
pixels[x, y] = colors[next_board[yd>>5][xd>>5]].mask(0xFFFFFFC0)
|
||||||
|
### Score text
|
||||||
elif x>=s1.x and x<s1.x+s1.width and y>=s1.y and y<s1.y+s1.height:
|
elif x>=s1.x and x<s1.x+s1.width and y>=s1.y and y<s1.y+s1.height:
|
||||||
yd = y-s1.y
|
yd = y-s1.y
|
||||||
if x < (24+s1.x) and a_s[yd>>2][(x-s1.x)>>2]:
|
if x < (24+s1.x) and a_s[yd>>2][(x-s1.x)>>2]:
|
||||||
@@ -364,45 +558,107 @@ for y in range(height):
|
|||||||
pixels[x, y] = white.get()
|
pixels[x, y] = white.get()
|
||||||
elif x > (112+s1.x) and a_e[yd>>2][(x-(112+s1.x))>>2]:
|
elif x > (112+s1.x) and a_e[yd>>2][(x-(112+s1.x))>>2]:
|
||||||
pixels[x, y] = white.get()
|
pixels[x, y] = white.get()
|
||||||
else:
|
### Score num
|
||||||
pixels[x, y] = text_bg.get()
|
|
||||||
elif x>=sn1.x and x<sn1.x+sn1.width and y>=sn1.y and y<sn1.y+sn1.height:
|
elif x>=sn1.x and x<sn1.x+sn1.width and y>=sn1.y and y<sn1.y+sn1.height:
|
||||||
pixels[x, y] = text_bg.get()
|
yd = y-sn1.y
|
||||||
####################### player 2
|
if ((x >= 74 and x < 86) and n0[yd>>2][(x -74)>>2]):
|
||||||
|
pixels[x, y] = white.get()
|
||||||
|
elif ((x >= 90 and x < 102) and n_x[yd>>2][(x -90)>>2]):
|
||||||
|
pixels[x, y] = white.get()
|
||||||
|
elif ((x >= 106 and x < 118) and hexnumbers[score0>>28&0b1111][yd>>2][(x -106)>>2]):
|
||||||
|
pixels[x, y] = white.get()
|
||||||
|
elif ((x >= 122 and x < 134) and hexnumbers[score0>>24&0b1111][yd>>2][(x -122)>>2]):
|
||||||
|
pixels[x, y] = white.get()
|
||||||
|
elif ((x >= 138 and x < 150) and hexnumbers[score0>>20&0b1111][yd>>2][(x -138)>>2]):
|
||||||
|
pixels[x, y] = white.get()
|
||||||
|
elif ((x >= 154 and x < 166) and hexnumbers[score0>>16&0b1111][yd>>2][(x -154)>>2]):
|
||||||
|
pixels[x, y] = white.get()
|
||||||
|
elif ((x >= 170 and x < 182) and hexnumbers[score0>>12&0b1111][yd>>2][(x -170)>>2]):
|
||||||
|
pixels[x, y] = white.get()
|
||||||
|
elif ((x >= 186 and x < 198) and hexnumbers[score0>>8&0b1111][yd>>2][(x -186)>>2]):
|
||||||
|
pixels[x, y] = white.get()
|
||||||
|
elif ((x >= 202 and x < 214) and hexnumbers[score0>>4&0b1111][yd>>2][(x -202)>>2]):
|
||||||
|
pixels[x, y] = white.get()
|
||||||
|
elif ((x >= 218 and x < 230) and hexnumbers[score0&0b1111][yd>>2][(x -218)>>2]):
|
||||||
|
pixels[x, y] = white.get()
|
||||||
|
else:
|
||||||
|
pixels[x, y] = black.get()
|
||||||
|
# pixels[x, y] = text_bg.get()
|
||||||
|
### Menu
|
||||||
|
elif x >= lm0.x and x < (lm0.x + lm0.width) and y >= lm0.y and y < (lm0.y + lm0.height):
|
||||||
|
xd = x-lm0.x
|
||||||
|
yd = y-lm0.y
|
||||||
|
xs = xd-34
|
||||||
|
if xd < (24) and a_p[yd>>2][xd>>2]:
|
||||||
|
pixels[x, y] = white.get()
|
||||||
|
elif xd > (33) and a_1[yd>>2][xs>>2]:
|
||||||
|
pixels[x, y] = white.get()
|
||||||
|
elif x >= lm1.x and x < (lm1.x + lm1.width) and y >= lm1.y and y < (lm1.y + lm1.height):
|
||||||
|
xd = x-lm1.x
|
||||||
|
yd = y-lm1.y
|
||||||
|
xs = xd-34
|
||||||
|
if xd < (24) and a_p[yd>>2][xd>>2]:
|
||||||
|
pixels[x, y] = white.get()
|
||||||
|
elif xd > (33) and a_2[yd>>2][xs>>2]:
|
||||||
|
pixels[x, y] = white.get()
|
||||||
|
elif x >= lm2.x and x < (lm2.x + lm2.width) and y >= lm2.y and y < (lm2.y + lm2.height):
|
||||||
|
xd = x-lm2.x
|
||||||
|
yd = y-lm2.y
|
||||||
|
xs = xd-28
|
||||||
|
if xd < (24) and a_s[yd>>2][xd>>2]:
|
||||||
|
pixels[x, y] = white.get()
|
||||||
|
elif xd > (27) and a_w[yd>>2][xs>>2]:
|
||||||
|
pixels[x, y] = white.get()
|
||||||
|
elif x >= lm3.x and x < (lm3.x + lm3.width) and y >= lm3.y and y < (lm3.y + lm3.height):
|
||||||
|
xd = x-lm3.x
|
||||||
|
yd = y-lm3.y
|
||||||
|
xs = xd-28
|
||||||
|
if xd < (24) and a_h[yd>>2][xd>>2]:
|
||||||
|
pixels[x, y] = white.get()
|
||||||
|
elif xd > (27) and a_w[yd>>2][xs>>2]:
|
||||||
|
pixels[x, y] = white.get()
|
||||||
|
####################### Right Board
|
||||||
### Board
|
### Board
|
||||||
elif x>=b2.x and x<b2.x+b2.width and y>=b2.y and y<b2.y+b2.height:
|
elif x>=b2.x and x<b2.x+b2.width and y>=b2.y and y<b2.y+b2.height:
|
||||||
# xd = x-b2.x
|
|
||||||
# yd = y-b2.y
|
|
||||||
# pixels[x, y] = colors2[board2[yd>>5][xd>>5]].multiply(sprite_pixels[yd&0b0000000000011111, xd&0b0000000000011111])
|
|
||||||
xd = x-b2.x
|
xd = x-b2.x
|
||||||
yd = y-b2.y
|
yd = y-b2.y
|
||||||
xs = xd&0x1F
|
xs = xd&0x1F
|
||||||
ys = yd&0x1F
|
ys = yd&0x1F
|
||||||
if (xs == 31) or (ys == 31):
|
if (xs > 7 and xs < 24) and (ys > 7 and ys < 24): # middle
|
||||||
if (xs == 0) or (ys == 0):
|
pixels[x, y] = colors[board2[yd>>5][xd>>5]].get()
|
||||||
pixels[x, y] = colors2[board2[yd>>5][xd>>5]].shiftr(1)
|
elif (xs > 5 and xs < 26) and (ys > 5 and ys < 26): # mid boarder
|
||||||
|
pixels[x, y] = colors[board2[yd>>5][xd>>5]].mask(0xFFFFFFB0)
|
||||||
|
elif xs+ys<31: # top left edge
|
||||||
|
if xs>ys:
|
||||||
|
pixels[x, y] = colors[board2[yd>>5][xd>>5]].get()
|
||||||
else:
|
else:
|
||||||
pixels[x, y] = colors2[board2[yd>>5][xd>>5]].shiftr(2)
|
pixels[x, y] = colors[board2[yd>>5][xd>>5]].mask(0xFFFFFFEF)
|
||||||
elif (not xs) or (not ys):
|
|
||||||
pixels[x, y] = colors2[board2[yd>>5][xd>>5]].get()
|
|
||||||
else:
|
else:
|
||||||
pixels[x, y] = colors2[board2[yd>>5][xd>>5]].mask(0xFFFFFFC0)
|
if xs>ys:
|
||||||
|
pixels[x, y] = colors[board2[yd>>5][xd>>5]].mask(0xFFFFFFD7)
|
||||||
|
else:
|
||||||
|
pixels[x, y] = colors[board2[yd>>5][xd>>5]].mask(0xFFFFFFC0)
|
||||||
### Next Piece
|
### Next Piece
|
||||||
elif x>=nb2.x and x<nb2.x+nb2.width and y>=nb2.y and y<nb2.y+nb2.height:
|
elif x>=nb2.x and x<nb2.x+nb2.width and y>=nb2.y and y<nb2.y+nb2.height:
|
||||||
xd = x-nb2.x
|
xd = x-nb2.x
|
||||||
yd = y-nb2.y
|
yd = y-nb2.y
|
||||||
xs = xd&0x1F
|
xs = xd&0x1F
|
||||||
ys = yd&0x1F
|
ys = yd&0x1F
|
||||||
if (xs == 31) or (ys==31):
|
if (xs > 7 and xs < 24) and (ys > 7 and ys < 24): # middle
|
||||||
if (xs == 0) or (ys == 0):
|
pixels[x, y] = colors[next_board1[yd>>5][xd>>5]].get()
|
||||||
pixels[x, y] = colors[next_board[yd>>5][xd>>5]].shiftr(1)
|
elif (xs > 5 and xs < 26) and (ys > 5 and ys < 26): # mid next_boarder
|
||||||
|
pixels[x, y] = colors[next_board1[yd>>5][xd>>5]].mask(0xFFFFFFB0)
|
||||||
|
elif xs+ys<31: # top left edge
|
||||||
|
if xs>ys:
|
||||||
|
pixels[x, y] = colors[next_board1[yd>>5][xd>>5]].get()
|
||||||
else:
|
else:
|
||||||
pixels[x, y] = colors[next_board[yd>>5][xd>>5]].shiftr(2)
|
pixels[x, y] = colors[next_board1[yd>>5][xd>>5]].mask(0xFFFFFFEF)
|
||||||
elif (not xs) or (not ys):
|
|
||||||
pixels[x, y] = colors[next_board[yd>>5][xd>>5]].get()
|
|
||||||
else:
|
else:
|
||||||
pixels[x, y] = colors[next_board[yd>>5][xd>>5]].mask(0xFFFFFFC0)
|
if xs>ys:
|
||||||
### Score
|
pixels[x, y] = colors[next_board1[yd>>5][xd>>5]].mask(0xFFFFFFD7)
|
||||||
|
else:
|
||||||
|
pixels[x, y] = colors[next_board1[yd>>5][xd>>5]].mask(0xFFFFFFC0)
|
||||||
|
### Score Text
|
||||||
elif x>=s2.x and x<s2.x+s2.width and y>=s2.y and y<s2.y+s2.height:
|
elif x>=s2.x and x<s2.x+s2.width and y>=s2.y and y<s2.y+s2.height:
|
||||||
yd = y-s2.y
|
yd = y-s2.y
|
||||||
if x < (24+s2.x) and a_s[yd>>2][(x-s2.x)>>2]:
|
if x < (24+s2.x) and a_s[yd>>2][(x-s2.x)>>2]:
|
||||||
@@ -415,15 +671,64 @@ for y in range(height):
|
|||||||
pixels[x, y] = white.get()
|
pixels[x, y] = white.get()
|
||||||
elif x > (112+s2.x) and a_e[yd>>2][(x-(112+s2.x))>>2]:
|
elif x > (112+s2.x) and a_e[yd>>2][(x-(112+s2.x))>>2]:
|
||||||
pixels[x, y] = white.get()
|
pixels[x, y] = white.get()
|
||||||
else:
|
### Score Num
|
||||||
pixels[x, y] = text_bg.get()
|
|
||||||
elif x>=sn2.x and x<sn2.x+sn2.width and y>=sn2.y and y<sn2.y+sn2.height:
|
elif x>=sn2.x and x<sn2.x+sn2.width and y>=sn2.y and y<sn2.y+sn2.height:
|
||||||
pixels[x, y] = text_bg.get()
|
yd = y-sn2.y
|
||||||
else:
|
if ((x >= 1050 and x < 1062) and n0[yd>>2][(x -1050)>>2]):
|
||||||
if (x+y)&1:
|
pixels[x, y] = white.get()
|
||||||
pixels[x, y] = (0, 0, 255)
|
elif ((x >= 1066 and x < 1078) and n_x[yd>>2][(x -1066)>>2]):
|
||||||
|
pixels[x, y] = white.get()
|
||||||
|
elif ((x >= 1082 and x < 1094) and hexnumbers[score1>>28&0b1111][yd>>2][(x -1082)>>2]):
|
||||||
|
pixels[x, y] = white.get()
|
||||||
|
elif ((x >= 1098 and x < 1110) and hexnumbers[score1>>24&0b1111][yd>>2][(x -1098)>>2]):
|
||||||
|
pixels[x, y] = white.get()
|
||||||
|
elif ((x >= 1114 and x < 1126) and hexnumbers[score1>>20&0b1111][yd>>2][(x -1114)>>2]):
|
||||||
|
pixels[x, y] = white.get()
|
||||||
|
elif ((x >= 1130 and x < 1142) and hexnumbers[score1>>16&0b1111][yd>>2][(x -1130)>>2]):
|
||||||
|
pixels[x, y] = white.get()
|
||||||
|
elif ((x >= 1146 and x < 1158) and hexnumbers[score1>>12&0b1111][yd>>2][(x -1146)>>2]):
|
||||||
|
pixels[x, y] = white.get()
|
||||||
|
elif ((x >= 1162 and x < 1174) and hexnumbers[score1>>8&0b1111][yd>>2][(x -1162)>>2]):
|
||||||
|
pixels[x, y] = white.get()
|
||||||
|
elif ((x >= 1178 and x < 1190) and hexnumbers[score1>>4&0b1111][yd>>2][(x -1178)>>2]):
|
||||||
|
pixels[x, y] = white.get()
|
||||||
|
elif ((x >= 1194 and x < 1206) and hexnumbers[score1&0b1111][yd>>2][(x -1194)>>2]):
|
||||||
|
pixels[x, y] = white.get()
|
||||||
else:
|
else:
|
||||||
pixels[x, y] = ((x+y)>>3, (((1280+720)>>3)-((x+y)>>3)), 0)
|
pixels[x, y] = black.get()
|
||||||
|
### Menu
|
||||||
|
elif x >= rm0.x and x < (rm0.x + rm0.width) and y >= rm0.y and y < (rm0.y + rm0.height):
|
||||||
|
xd = x-rm0.x
|
||||||
|
yd = y-rm0.y
|
||||||
|
xs = xd-34
|
||||||
|
if xd < (24) and a_p[yd>>2][xd>>2]:
|
||||||
|
pixels[x, y] = white.get()
|
||||||
|
elif xd > (33) and a_1[yd>>2][xs>>2]:
|
||||||
|
pixels[x, y] = white.get()
|
||||||
|
elif x >= rm1.x and x < (rm1.x + rm1.width) and y >= rm1.y and y < (rm1.y + rm1.height):
|
||||||
|
xd = x-rm1.x
|
||||||
|
yd = y-rm1.y
|
||||||
|
xs = xd-34
|
||||||
|
if xd < (24) and a_p[yd>>2][xd>>2]:
|
||||||
|
pixels[x, y] = white.get()
|
||||||
|
elif xd > (33) and a_2[yd>>2][xs>>2]:
|
||||||
|
pixels[x, y] = white.get()
|
||||||
|
elif x >= rm2.x and x < (rm2.x + rm2.width) and y >= rm2.y and y < (rm2.y + rm2.height):
|
||||||
|
xd = x-rm2.x
|
||||||
|
yd = y-rm2.y
|
||||||
|
xs = xd-28
|
||||||
|
if xd < (24) and a_s[yd>>2][xd>>2]:
|
||||||
|
pixels[x, y] = white.get()
|
||||||
|
elif xd > (27) and a_w[yd>>2][xs>>2]:
|
||||||
|
pixels[x, y] = white.get()
|
||||||
|
elif x >= rm3.x and x < (rm3.x + rm3.width) and y >= rm3.y and y < (rm3.y + rm3.height):
|
||||||
|
xd = x-rm3.x
|
||||||
|
yd = y-rm3.y
|
||||||
|
xs = xd-28
|
||||||
|
if xd < (24) and a_h[yd>>2][xd>>2]:
|
||||||
|
pixels[x, y] = white.get()
|
||||||
|
elif xd > (27) and a_w[yd>>2][xs>>2]:
|
||||||
|
pixels[x, y] = white.get()
|
||||||
|
|
||||||
img.save("output/alpha.png")
|
img.save("output/alpha.png")
|
||||||
img.show()
|
img.show()
|
||||||
+91
-5
@@ -25,10 +25,10 @@
|
|||||||
inkscape:deskcolor="#d1d1d1"
|
inkscape:deskcolor="#d1d1d1"
|
||||||
inkscape:document-units="mm"
|
inkscape:document-units="mm"
|
||||||
inkscape:zoom="1.6528621"
|
inkscape:zoom="1.6528621"
|
||||||
inkscape:cx="653.41204"
|
inkscape:cx="653.10954"
|
||||||
inkscape:cy="251.68464"
|
inkscape:cy="396.88731"
|
||||||
inkscape:window-width="3824"
|
inkscape:window-width="3433"
|
||||||
inkscape:window-height="2104"
|
inkscape:window-height="2076"
|
||||||
inkscape:window-x="0"
|
inkscape:window-x="0"
|
||||||
inkscape:window-y="0"
|
inkscape:window-y="0"
|
||||||
inkscape:window-maximized="1"
|
inkscape:window-maximized="1"
|
||||||
@@ -97,4 +97,90 @@
|
|||||||
height="5.2916665"
|
height="5.2916665"
|
||||||
x="-319.08749"
|
x="-319.08749"
|
||||||
y="129.64583"
|
y="129.64583"
|
||||||
transform="scale(-1,1)" /></g></svg>
|
transform="scale(-1,1)" /><text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-size:3.175px;writing-mode:lr-tb;direction:ltr;fill:#808080;stroke-width:0.264583"
|
||||||
|
x="31.855097"
|
||||||
|
y="83.879761"
|
||||||
|
id="text1"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan1"
|
||||||
|
style="stroke-width:0.264583"
|
||||||
|
x="31.855097"
|
||||||
|
y="83.879761">sw - Player</tspan></text><text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-size:3.175px;writing-mode:lr-tb;direction:ltr;fill:#808080;stroke-width:0.264583"
|
||||||
|
x="7.0433388"
|
||||||
|
y="57.787392"
|
||||||
|
id="text2"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan2"
|
||||||
|
style="stroke-width:0.264583"
|
||||||
|
x="7.0433388"
|
||||||
|
y="57.787392">hw - player</tspan></text><text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-size:3.175px;writing-mode:lr-tb;direction:ltr;fill:#808080;stroke-width:0.264583"
|
||||||
|
x="33.936081"
|
||||||
|
y="91.883545"
|
||||||
|
id="text3"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan3"
|
||||||
|
style="stroke-width:0.264583"
|
||||||
|
x="33.936081"
|
||||||
|
y="91.883545">human</tspan></text><text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-size:3.175px;writing-mode:lr-tb;direction:ltr;fill:#808080;stroke-width:0.264583"
|
||||||
|
x="289.6492"
|
||||||
|
y="86.61039"
|
||||||
|
id="text1-3"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan1-5"
|
||||||
|
style="stroke-width:0.264583"
|
||||||
|
x="289.6492"
|
||||||
|
y="86.61039">sw - Player</tspan></text><text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-size:3.175px;writing-mode:lr-tb;direction:ltr;fill:#808080;stroke-width:0.264583"
|
||||||
|
x="269.15948"
|
||||||
|
y="66.280746"
|
||||||
|
id="text2-6"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan2-2"
|
||||||
|
style="stroke-width:0.264583"
|
||||||
|
x="269.15948"
|
||||||
|
y="66.280746">hw - player</tspan></text><text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-size:3.175px;writing-mode:lr-tb;direction:ltr;fill:#808080;stroke-width:0.264583"
|
||||||
|
x="292.37048"
|
||||||
|
y="94.454094"
|
||||||
|
id="text3-9"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan3-1"
|
||||||
|
style="stroke-width:0.264583"
|
||||||
|
x="292.37048"
|
||||||
|
y="94.454094">human</tspan></text><rect
|
||||||
|
style="fill:#808080;stroke-width:0.264583"
|
||||||
|
id="rect3"
|
||||||
|
width="39.378666"
|
||||||
|
height="36.817448"
|
||||||
|
x="149.83101"
|
||||||
|
y="47.542519" /><image
|
||||||
|
width="43.583111"
|
||||||
|
height="43.583111"
|
||||||
|
preserveAspectRatio="none"
|
||||||
|
xlink:href="data:image/png;base64,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 d++W1zbc8Ao1LPe3tLine truncated
|
||||||
|
id="image1"
|
||||||
|
x="146.81685"
|
||||||
|
y="44.554131" /><rect
|
||||||
|
style="fill:#808080;stroke-width:0.264583"
|
||||||
|
id="rect3-6"
|
||||||
|
width="39.378666"
|
||||||
|
height="36.817448"
|
||||||
|
x="149.88287"
|
||||||
|
y="84.480057" /><image
|
||||||
|
width="43.583111"
|
||||||
|
height="43.583111"
|
||||||
|
preserveAspectRatio="none"
|
||||||
|
xlink:href="data:image/png;base64,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 d++W1zbc8Ao1LPe3tLine truncated
|
||||||
|
id="image1-2"
|
||||||
|
x="148.14932"
|
||||||
|
y="81.651741" /></g></svg>
|
||||||
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 67 KiB |
+247
@@ -0,0 +1,247 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="338.66666mm"
|
||||||
|
height="190.50002mm"
|
||||||
|
viewBox="0 0 338.66666 190.50002"
|
||||||
|
version="1.1"
|
||||||
|
id="svg1"
|
||||||
|
sodipodi:docname="layout_menu.svg"
|
||||||
|
xml:space="preserve"
|
||||||
|
inkscape:version="1.4.4 (dcaf3e7d9e, 2026-05-05)"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview
|
||||||
|
id="namedview1"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:document-units="mm"
|
||||||
|
inkscape:zoom="2"
|
||||||
|
inkscape:cx="235.5"
|
||||||
|
inkscape:cy="459.5"
|
||||||
|
inkscape:window-width="3820"
|
||||||
|
inkscape:window-height="2076"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="layer4"><inkscape:page
|
||||||
|
x="0"
|
||||||
|
y="0"
|
||||||
|
width="338.66666"
|
||||||
|
height="190.50002"
|
||||||
|
id="page2"
|
||||||
|
margin="0"
|
||||||
|
bleed="0" /></sodipodi:namedview><defs
|
||||||
|
id="defs1" /><g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1"><image
|
||||||
|
width="338.66666"
|
||||||
|
height="190.5"
|
||||||
|
preserveAspectRatio="none"
|
||||||
|
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABQAAAALQCAIAAABAH0oBAAD0uklEQVR4nOz9Z5gb15Xui6/NS997 zpnxDEe2TNlWpAJFMeecc86ZyjlH59TOsiVKVKAyFZgz0cyxmXNsKhSVKIlyatNDcMQTfO//Q/0/ AGyk1QCa2C+qduN9HzzveMTuVYWFtXetH1eBJfL/iYif6eb/1b3eP3X/v/6P7vX/t+5f+1+6/9// U/f/55zu/+0r3f/7f+n+P87q/i9R3f/1jO5f/0/d/+0fuv/7ad0b/F33/6jS/aK/6f6Nv+r+zb/o fvGfdf/Wn3Rv+KXul5zS/dtf6P6dz3X/7me6X3pS98s+1f3yT3S/4mPdr/xI96s+1L3RCd2v9nS/ 5gPdr31f9+ve073xu7pff1z3JpW633BM96ZHdW92RPfmh3VvcUj3lgd1b3VA99b7dW+zT/e2e3Vv t0f39rt177BL9447de+0Q/fO23Xvsk33rlt171ahe/ctuvfYrHvPTbr32qh77w2691mve991uvdb q3v/NboPWK37wFW6D1qp++By3YdEdB+6Qvdhy3Ufvkz3EUt1H7lE91GLdR+9SPcxC3Ufu0D3cfN1 Hz9P9wlzdZ84R/dJs3Wf/I7uU97Wfepbuk97U/cbZ+l+0xu63/y67re8pvutr+p+2yu63/6y7ne8 pPudM3W/60Xd735B93ue1/3e53S/b4bu9z+r+wPP6P7gdN0felr3h5/S/ZE/6v7oH3R/7EndH/+9 7k/8Tvfv/Vb37/9G9x/8Wvcf/kr3H/1S9x+X6f6TX+j+05/r/rOf6f7zn+r+i5/oXvZj3X/5I91/ 9UPdf/0D3X/zfd1/+z3df/eE7r9/XPcnH9P9D4/q/sdHdH/qYd2ffkj36Q/q/swDuj97v+4z7tP9 uXt1f/4e3V+4W/cX79J95p26v3SH7i/frvsrt+n+6q26v3aL7q/frPsbN+k+60bd35ym+1tTdRch /ZJ+Sb+kX9Iv6Zf0S/ol/ZJ+Sb+kX9Iv6beu0+/bU0RIv6Rf0i/pl/RL+iX9kn5Jv6Rf0i/pl/RL +i0B+s2YAJN+Sb+kX9Iv6Zf0S/ol/ZJ+Sb+kX9Iv6Zf0W/foN30CTPol/ZJ+Sb+kX9Iv6Zf0S/ol /ZJ+Sb+kX9JvHaXfpAkw6Zf0S/ol/ZJ+Sb+kX9Iv6Zf0S/ol/ZJ+Sb91lX4TE2DSL+mX9Ev6Jf2S fkm/pF/SL+mX9Ev6Jf2Sfus0/foipF/SL+mX9Ev6Jf2Sfkm/pF/SL+mX9Ev6Jf3Wdfp9e4oI6Zf0 S/ol/ZJ+Sb+kX9Iv6Zf0S/ol/ZJ+Sb91n35rmgCTfkm/pF/SL+mX9Ev6Jf2Sfkm/pF/SL+mX9FuX 6PedydoEmPRL+iX9kn5Jv6Rf0i/pl/RL+iX9kn5Jv6Tfuka/mRNg0i/pl/RL+iX9kn5Jv6Rf0i/p l/RL+iX9kn7rHv2mT4BJv6Rf0i/pl/RL+iX9kn5Jv6Rf0i/pl/RL+q2b9Js8ASb9kn5Jv6Rf0i/p l/RL+iX9kn5Jv6Rf0i/pt67Sb2ICTPol/ZJ+Sb+kX9Iv6Zf0S/ol/ZJ+Sb+kX9JvXabf2ASY9Ev6 Jf2Sfkm/pF/SL+mX9Ev6Jf2Sfkm/pN+6Tb/vTBYh/ZJ+Sb+kX9Iv6Zf0S/ol/ZJ+Sb+kX9Iv6bfu 029NE2DSL+mX9Ev6Jf2Sfkm/pF/SL+mX9Ev6Jf2SfusS/c6epE2ASb+kX9Iv6Zf0S/ol/ZJ+Sb+k X9Iv6Zf0S/qta/SbOQEm/ZJ+Sb+kX9Iv6Zf0S/ol/ZJ+Sb+kX9Iv6bfu0W/6BJj0S/ol/ZJ+Sb+k X9Iv6Zf0S/ol/ZJ+Sb+k37pJv8kTYNIv6Zf0S/ol/ZJ+Sb+kX9Iv6Zf0S/ol/ZJ+6yr9JibApF/S L+mX9Ev6Jf2Sfkm/pF/SL+mX9Ev6Jf3WZfqNTYBJv6Rf0i/pl/RL+iX9kn5Jv6Rf0i/pl/RL+q3b 9Dt7kgjpl/RL+iX9kn5Jv6Rf0i/pl/RL+iX9kn5Jv3WffmuaAJN+Sb+kX9Iv6Zf0S/ol/ZJ+Sb+k X9Iv6Zf0W5fod85EbQJM+iX9kn5Jv6Rf0i/pl/RL+iX9kn5Jv6Rf0m9do9/MCTDpl/RL+iX9kn5J v6Rf0i/pl/RL+iX9kn5Jv3WPftMnwKRf0i/pl/RL+iX9kn5Jv6Rf0i/pl/RL+iX91k36TZ4Ak35J v6Rf0i/pl/RL+iX9kn5Jv6Rf0i/pl/RbV+k3MQEm/ZJ+Sb+kX9Iv6Zf0S/ol/ZJ+Sb+kX9Iv6bcu 029sAkz6Jf2Sfkm/pF/SL+mX9Ev6Jf2Sfkm/pF/Sb92m3zkTRUi/pF/SL+mX9Ev6Jf2Sfkm/pF/S L+mX9Ev6rfv0W9MEmPRL+iX9kn5Jv6Rf0i/pl/RL+iX9kn5Jv6TfukS/cydoE2DSL+mX9Ev6Jf2S fkm/pF/SL+mX9Ev6Jf2Sfusa/WZOgEm/pF/SL+mX9Ev6Jf2Sfkm/pF/SL+mX9Ev6rXv0mz4BJv2S fkm/pF/SL+mX9Ev6Jf2Sfkm/pF/SL+m3btJv8gSY9Ev6Jf2Sfkm/pF/SL+mX9Ev6Jf2Sfkm/pN+6 Sr+JCTDpl/RL+iX9kn5Jv6Rf0i/pl/RL+iX9kn5Jv3WZfmMTYNIv6Zf0S/ol/ZJ+Sb+kX9Iv6Zf0 S/ol/ZJ+6zb9zp0gQvol/ZJ+w0O/AtZ0ic4SH/SaKZ5ERXzYy5PoKfG/Qr284xItEx/28spE4AmK iu+jXp7H+syefjT9ousfnn+43F5f8P0HnR5sePj+j65/0i/pl/QbFvoVX4T0S/ol/YaDfpseFbSm SxR0jZ8pXhwwQE2QFwdgUA/kHY8DMKgH9RIADE1QFNWje15xANjp+hTw7Bdd//D8w+X2+oLvP+j0 gJeX+/VP+iX9kn5DQb/zxmsTYNIv6Zf0G9SdzwJW7AJv/Rofu7onAMN6E+SlALD1HijW/VQDsPUe 1EsHYFyCopAePUa/xQJgd+sTfeczuv7h+YfL7fUF33/Q6cGGh+//6Pon/ZJ+Sb9hoV/xRUi/pF/S bzjot2gTYLvX+OqrewpgWGyCPAWALfZA1d1PMgBb7EE9HYBBCYra79Gr6beIAOxofQr4e7/o+ofn Hy631xd8/0GnB7y83K9/0i/pl/QbCvpNnwCTfkm/pN9g/9UrASv5Am/lGp98dU8HDCtNkCc1AbCV Hii5+0kDYCs9qFeWBYARCYpa7tGT6be4AOxifaL/1St0/cPzD5fb6wu+/6DTgw0P3//R9U/6Jf2S fsNCv+KLkH5Jv6TfcNBvkSfAhV/j067uCmAU2AR5GQ3WKZs9UFr3kwnABfagXmYDCk9Q1GaPnka/ RQdg5+pTwP/mM7r+4fmHy+31Bd9/0OkBLy/365/0S/ol/YaCfueNl/pf+1/m//cv/v/9P83/96+K /z/nzP/7dcX/21fmn/+m+H//L/N//l3x/3HW/O8Giv9L1Pyv/1D8X8+Y/3mR4l//T3PuG4r/2z/M V99U/N9Pm/+6WPEGfzdnv6X4f1SZaEPFL/qbOXOJ4t/4q/nPbyv+zb+Yf3xH8Yv/bE5/V/Fv/cn8 /VLFG35pqi5T/JJT5m+XK/7tL8xfr1D8O5+bv1yp+Hc/M3++SvFLT5o/NVL8sk/Nl1crfvkn5tQ1 il/xsfniWsWv/Mh8fp3iV31oPmuseKMT5uT1il/tmU+bKH7NB+aTGxS/9n3zcVPFr3vPfNRM8cbv mg+bK379cXOiheJNKo3XUvEbjpkPWine9Kh5v3WKixgprs5J+QX/7tekce4fuvDwklf4igLCN8oj /oWHz+f08UcoLyB+4/zeAVJu1efYBWbZZH/cfLN0iuLj55klUxWfMNcsnqb4xDlm0Y0p/sqp9P0B Xf/w/MPl9vqC7z/o9GDDO1b/v/iJ+eVv/bIfm7LfKf7LH5lf/F7xX/3Q/PxJxX/9A/OzPyj+m++b n/5R8d9+z/zkKcV/94T58dOK//5x86Ppij/5mPnhM4r/4VHzg2cV/+Mj5vszFH/qYfO95xR/+iHz xPOKT3/QPP6C4s88YB57UfFn7zePzlR8xn3mkZcUf+5e8/DLij9/j3noFcVfuNs8+KriL95lHnhN 8Zl3mvtfV/ylO8x9byj+8u3m3lmKv3KbuedNxV+91dz9luKv3WLuelvx1282d76j+Bs3mTtmKz7r RnP7HMXfnGZum6v4W1PNrfMUf3uKuWW+4u9MNjcvUHz2JHPTQsXnTDQ3LlJ87gQzbbHi88abqUtS vB7pl/RL+g0J/TY9Wmz6pSjKoqD0O3EO9weKclikX9Iv6Tck9DtvvBHe+cw7n3nncwjufA7mO8DT JTpDIjMkUtubu2K/ldctphGRiNT67rfYb+VxC3QkIpFIrW9+i/1WPrdAR8okUlbrmw9jv5XfLdB2 E5Rxi2Y8QbW8OTOeoOBvgXarPkF3PksN3wG2Xv/w/MPl9vqC7z/o9GDDw/d/dP3zzmfe+cw7nwO/ 81mSvwNM+iX9kn7DQL/NjghargMGAThXggjAQdanIOl30mznAQBdP66vLwJw9uXlfv2Tfkm/pN9Q 0O/8caJMgEm/pF/Sb0D06wtYrgMGAThXggjA4ZoAW6Rf4QQ4t9xeXwTgrOGdB2DSL+mX9BsW+hVf hPRL+iX9hoN+OQEmALine truncated
|
||||||
|
id="image1"
|
||||||
|
x="0"
|
||||||
|
y="0" /><image
|
||||||
|
width="338.66666"
|
||||||
|
height="190.5"
|
||||||
|
preserveAspectRatio="none"
|
||||||
|
xlink:href="data:image/png;base64,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 F/vFfrFf7Bf7xX6xX+wX+11i+80TYOwX+8V+sV/sF/vFfrFf7Bf7xX6xX+wX+11u+80S4F/634b9 Yr/YL/aL/WK/2C/2i/1iv9gv9ov9Yr/Lbb+VCTD2i/1iv9gv9ov9Yr/YL/aL/WK/2C/2i/0uk/1+ 8BxXAoz9Yr/YL/aL/WK/2C/2i/1iv9gv9ov9Yr9LZr/3v2gsAcZ+sV/sF/vFfrFf7Bf7xX6xX+wX +8V+sd/ls99yAoz9Yr/YL/aL/WK/2C/2i/1iv9gv9ov9Yr9Lab8jCTD2i/1iv9gv9ov9Yr/YL/aL /WK/2C/2i/0uq/0OE2DsF/vFfrFf7Bf7xX6xX+wX+8V+sV/sF/tdYvvNE2DsF/vFfrFf7Bf7xX6x X+wX+8V+sV/sF/tdbvvNEuC9/8uwX+wX+8V+sV/sF/vFfrFf7Bf7xX6xX+x3ue23MgHGfrFf7Bf7 xX6xX+wX+8V+sV/sF/vFfrHfZbLfD53tSoCxX+wX+8V+sV/sF/vFfrFf7Bf7xX6xX+x3yez3fh8f S4CxX+wX+8V+sV/sF/vFfrFf7Bf7xX6xX+x3+ey3nABjv9gv9ov9Yr/YL/aL/WK/2C/2i/1iv9jv UtrvSAKM/WK/2C/2i/1iv9gv9ov9Yr/YL/aL/WK/y2q/wwQY+8V+sV/sF/vFfrFf7Bf7xX6xX+wX +8V+l9h+8wQY+8V+sV/sF/vFfrFf7Bf7xX6xX+wX+8V+l9t+swT4hP9p2C/2i/0GYr9m6b9JCTli 3X22zzRsWOfCbks2vVnHuifaPtn8nVU7cLH09K11uGvaAh1QFqhjrZYpib0/7/1jk9pv94pE2v9f vK64/qbtH7O4r6/uRS3t+vN4cXm0l5cduMKi7v9/fnYL+8V+sd8Q7Dcd92C/2C/2G072a3rW0/8n YCPbn+RPIGEwvWb+dPeTz28SOsP/jLRAHVsIUfenOvu1RfS/uP5y4r6+5OuPujwmYXD+Ufc/9ov9 Yr+B2O+Hz0r2YL/YLLine truncated
|
||||||
|
id="image1-0"
|
||||||
|
x="0"
|
||||||
|
y="0"
|
||||||
|
style="display:inline" /><image
|
||||||
|
width="338.66669"
|
||||||
|
height="190.5"
|
||||||
|
preserveAspectRatio="none"
|
||||||
|
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABQAAAALQCAIAAABAH0oBAAD/Q0lEQVR4nOz9ZZgcZ5bti+9XV33v OWemZzSedqvJDLIsZmZmZjMzN1M1u9uWLYPMMkgWU5YYS8xYMoRMarcaqzWj1FgH+t7/h/h/iFRl ZuROqoyVEW/VWk8+q91S1o6InTve2D/tyAqR/09E3Ew3/6/ujf6h+//1f3Rv/L91/9L/0v3//p+6 /z/ndf9vX+j+3/9L9/9xTvd/iuv+z2d1//J/6v4v/6H7v57Rvcnfdf+3Gt0v+pvu//5X3b/yF90v /rPuX/2T7k3/qPvXTuv+9T/o/o3Pdf/m73X/1indL/lM90s/1f2yT3S//GPdr/hI9ytP6n6Vo/vV H+p+zQe6X/u+7s3e0/26E7o3r9b9+uO6tzime8ujurc6onvrw7q3OaR724O6tzuge/v9unfYp3vH vbp32qN75926d9mle9edunfboXv37br32KZ7zyrde23VvfcW3fts1r3vJt37bdS9/wbdB6zXfeA6 3Qet1X3wGt2HrNZ96Crdh1XqPjym+4iVuo9cofuo5bqPXqb7mKW6j12i+7jFuo9fpPuEhbpPXKD7 pPm6T35X9ynzdJ86V/dp7+g+/W3dZ7yl+w1v6n7jHN1vekP3m1/X/ZbXdL/1Vd1ve0X321/W/Y6X dL9ztu53vaj73S/ofs/zut/7nO73zdL9/md1f+AZ3R+cqftDT+v+8FO6P/I73R/9re6PPan747/R /Ylf6/7tX+n+nV/q/t1f6P69n+v+/Z/p/oMK3X/4U91/9BPdf/xj3X/yI91/+kPdK36g+8++r/vP v6f7L76r+y+/o/uvvq37r5/Q/TeP6/7kY7r/9lHdf/eI7k89rPvTD+k+80Hdn3lA92fv133Wfbo/ d6/uz9+j+wt36/7iXbrPvlP3l+7Q/eXbdX/lNt1fvVX3127R/fWbdX/jJt3n3Kj7mzfo/tYM3UVI v6Rf0i/pl/RL+iX9kn5Jv6Rf0i/pl/RL+q3v9Pv2dBHSL+mX9Ev6Jf2Sfkm/pF/SL+mX9Ev6Jf2S fhsA/WZMgEm/pF/SL+mX9Ev6Jf2Sfkm/pF/SL+mX9Ev6rX/0658Ak35Jv6Rf0i/pl/RL+iX9kn5J v6Rf0i/pl/RbT+k3ZQJM+iX9kn5Jv6Rf0i/pl/RL+iX9kn5Jv6Rf0m99pd/kBJj0S/ol/ZJ+Sb+k X9Iv6Zf0S/ol/ZJ+Sb+k33pNv64I6Zf0S/ol/ZJ+Sb+kX9Iv6Zf0S/ol/ZJ+Sb/1nX7fni5C+iX9 kn5Jv6Rf0i/pl/RL+iX9kn5Jv6Rf0m/9p99sE2DSL+mX9Ev6Jf2Sfkm/pF/SL+mX9Ev6Jf2SfusT /b4zTZsAk35Jv6Rf0i/pl/RL+iX9kn5Jv6Rf0i/pl/Rb3+g3cwJM+iX9kn5Jv6Rf0i/pl/RL+iX9 kn5Jv6Rf0m/9o1//BJj0S/ol/ZJ+Sb+kX9Iv6Zf0S/ol/ZJ+Sb+k3/pJv6kTYNIv6Zf0S/ol/ZJ+ Sb+kX9Iv6Zf0S/ol/ZJ+6yv9JifApF/SL+mX9Ev6Jf2Sfkm/pF/SL+mX9Ev6Jf3WZ/r1JsCkX9Iv 6Zf0S/ol/ZJ+Sb+kX9Iv6Zf0S/ol/dZv+n1nmgjpl/RL+iX9kn5Jv6Rf0i/pl/RL+iX9kn5Jv/Wf frNNgEm/pF/SL+mX9Ev6Jf2Sfkm/pF/SL+mX9Ev6rU/0O3eqNgEm/ZJ+Sb+kX9Iv6Zf0S/ol/ZJ+ Sb+kX9Iv6be+0W/mBJj0S/ol/ZJ+Sb+kX9Iv6Zf0S/ol/ZJ+Sb+k3/pHv/4JMOmX9Ev6Jf2Sfkm/ pF/SL+mX9Ev6Jf2Sfkm/9ZN+UyfApF/SL+mX9Ev6Jf2Sfkm/pF/SL+mX9Ev6Jf3WV/pNToBJv6Rf 0i/pl/RL+iX9kn5Jv6Rf0i/pl/RL+q3P9OtNgEm/pF/SL+mX9Ev6Jf2Sfkm/pF/SL+mX9Ev6rd/0 O3eqCOmX9Ev6Jf2Sfkm/pF/SL+mX9Ev6Jf2Sfkm/9Z9+s02ASb+kX9Iv6Zf0S/ol/ZJ+Sb+kX9Iv 6Zf0S/qtT/Q7b4o2ASb9kn5Jv6Rf0i/pl/RL+iX9kn5Jv6Rf0i/pt77Rb+YEmPRL+iX9kn5Jv6Rf 0i/pl/RL+iX9kn5Jv6Tf+ke//gkw6Zf0S/ol/ZJ+Sb+kX9Iv6Zf0S/ol/ZJ+Sb/1k35TJ8CkX9Iv 6Zf0S/ol/ZJ+Sb+kX9Iv6Zf0S/ol/dZX+k1OgEm/pF/SL+mX9Ev6Jf2Sfkm/pF/SL+mX9Ev6rc/0 602ASb+kX9Iv6Zf0S/ol/ZJ+Sb+kX9Iv6Zf0S/qt3/Q7b4oI6Zf0S/ol/ZJ+Sb+kX9Iv6Zf0S/ol /ZJ+Sb/1n36zTYBJv6Rf0i/pl/RL+iX9kn5Jv6Rf0i/pl/RL+q1P9PvuZG0CTPol/ZJ+Sb+kX9Iv 6Zf0S/ol/ZJ+Sb+kX9JvfaPfzAkw6Zf0S/ol/ZJ+Sb+kX9Iv6Zf0S/ol/ZJ+Sb/1j379E2DSL+mX 9Ev6Jf2Sfkm/pF/SL+mX9Ev6Jf2Sfusn/aZOgEm/pF/SL+mX9Ev6Jf2Sfkm/pF/SL+mX9Ev6ra/0 m5wAk35Jv6Rf0i/pl/RL+iX9kn5Jv6Rf0i/pl/Rbn+nXmwCTfkm/pF/SL+mX9Ev6Jf2Sfkm/pF/S L+mX9Fu/6ffdySKkX9Iv6Tc69CtgzZT4HHFBr9niSFzEhb0ciZ8W9wvUyzkh8QpxYS+nQgSeoLi4 LurlOKzP3OlH0y+6/uH5h8vu8wu+/qDTgw0PX//R9U/6Jf2SfqNCv+KKkH5Jv6TfaNBvi2OC1kyJ g67xs8VJAAaoCXISAAzqgZwTCQAG9aBOEoChCYqjenTHKQ8AW12fAp79ousfnn+47D6/4OsPOj3g 08v++if9kn5Jv5Gg3/mTtAkw6Zf0S/oN685nAcu7wAd+jfeu7knACLwJctIAOPAeyOt+agE48B7U 8QMwLkFxSI/u0W+5ANje+kTf+Yyuf3j+4bL7/IKvP+j0YMPD1390/ZN+Sb+k36jQr7gipF/SL+k3 GvRbtglwsNf42qt7GmAE2AQ5CgAH2APVdj+pABxgD+roAAxKUDz4Hr2WfssIwJbWp4C/94uuf3j+ 4bL7/IKvP+j0gE8v++uf9Ev6Jf1Ggn79E2DSL+mX9Bvub70SsFIv8IFc41Ov7n7ACKQJciQbAAfS A6V2Pz4ADqQHdSpyADAiQfGAe/RU+i0vANtYn+jfeoWuf3j+4bL7/IKvP+j0YMPD1390/ZN+Sb+k 36jQr7gipF/SL+k3GvRb5glw6dd439VdAYwSmyAno8E6HWQP5Ot+MgG4xB7UyWxA4QmKB9mj++i3 7ABsXX0K+Hc+o+sfnn+47D6/4OsPOj3g08v++if9kn5Jv5Gg3/mTpPGX/pf5//2T+3//T/P//bPi /8958/9+WfH/9oX5x78o/t//y/yff1X8f5wz/7uJ4v8UN//r3xT/57Pmf16k+Jf/05z/d8X/5T/M F19R/F/PmP+6WPEmfzfnvqr4v9WYeFPFL/qbOfs1xf/9r+Y/v674V/5i/uMbil/8Z3Pmm4p/9U/m 799SvOkfTc0lin/ttPnbpYp//Q/mr5cp/o3PzV8uV/ybvzd/vkLxb50yf7pS8Us+M3+8SvFLPzWn r1b8sk/MH65R/PKPzefXKn7FR+b3zRS/8qQ5dZ3iVznms+aKX/2h+fR6xa/5wHzSQvFr3zcft1S8 2Xvmo1aKX3fCnGytePNq47RR/Prj5sO2irc4Zj5ol+YiRsqr81JZ55/9kjTL/6a6h5eCwleVEP7K AuLXPXwhu4/fQmUJ8ZsVdgRI2VWfExaa5dPciQvMsumKT5pvls5QfPK7ZskNik+ZZxbfmOavnPav D+j6h+cfLrvPL/j6g04PNrxl9f/TH5qf/cqt+IGp+LXiP/u++elvFP/598xPnlT8F981P/6t4r/8 jvnR7xT/1bfND59S/NdPmB88rfhvHjffn6n4k4+Z7z2j+G8fNd99VvHfPWK+M0vxpx42335O8acf Mk88r/jMB83jLyj+zAPmsRcVf/Z+8+hsxWfdZx55SfHn7jUPv6z48/eYh15R/IW7zYOvKv7iXeaB 1xSffae5/3XFX7rD3PeG4i/fbu6do/grt5l73lT81VvN3W8p/tot5q63FX/9ZnPnO4q/cZO5Y67i c240t89T/M0bzG3vKv7WDHPrfMXfnm5uWaD4O9PMzQsVnzvV3LRI8XlTzI2LFX93srlhieLzJ5kZ S9O8EemX9Ev6jQj9tjhWbvqlKCpAQel3yjyuDxRlsUi/pF/Sb0Tod/4kI7zzmXc+887nCNz5HM53 gGdKfJbEZkms2Ju7vJ8q6BbTmEhMir77zfupAm6BjsUkFiv65jfvpwq5BTpWIbGKom8+9H6qsFug g01Qxi2aiQQVeXNmIkHh3wJtV32C7nyWLN8BDrz+4fmHy+7zC77+oNODDQ9f/9H1zzufeecz73wO /c5nSf0OMOmX9Ev6jQL9tjwqaNkOGATgfAkiAIdZn4Kk36lzrQcAdP3Yfn4RgHOfXvbXP+mX9Ev6 jQT9LpgoygSY9Ev6Jf2GRL+ugGU7YBCA8yWIABytCXCA9CucAOeX3ecXAThneOsBmPRL+iX9RoV+ xRUh/ZJ+Sb/RoF9OgLine truncated
|
||||||
|
id="image1-06"
|
||||||
|
x="-2.8421709e-14"
|
||||||
|
y="0"
|
||||||
|
style="display:inline" /><rect
|
||||||
|
style="fill:#808080;stroke-width:0.140008"
|
||||||
|
id="rect1"
|
||||||
|
width="33.866665"
|
||||||
|
height="33.866665"
|
||||||
|
x="152.39999"
|
||||||
|
y="41.010418" /><rect
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke-width:0.131257"
|
||||||
|
id="rect1-7"
|
||||||
|
width="31.75"
|
||||||
|
height="31.75"
|
||||||
|
x="153.45833"
|
||||||
|
y="42.068748" /><rect
|
||||||
|
style="fill:#3a3a3a;stroke-width:0.140008;fill-opacity:1"
|
||||||
|
id="rect1-6"
|
||||||
|
width="33.866665"
|
||||||
|
height="33.866665"
|
||||||
|
x="152.39999"
|
||||||
|
y="115.62292" /></g><g
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer4"
|
||||||
|
inkscape:label="Layer 4"><text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:16.9333px;font-family:PXSansBold;-inkscape-font-specification:'PXSansBold Bold';word-spacing:0px;writing-mode:lr-tb;direction:ltr;fill:#ffffff;fill-opacity:1;stroke-width:0;stroke-dasharray:none"
|
||||||
|
x="28.886824"
|
||||||
|
y="112.89774"
|
||||||
|
id="text6"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan6"
|
||||||
|
style="font-size:16.9333px;letter-spacing:1.05833px;word-spacing:0px;writing-mode:lr-tb;direction:ltr;stroke-width:0"
|
||||||
|
x="28.886824"
|
||||||
|
y="112.89774"
|
||||||
|
dx="0">HW</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-size:16.9333px;letter-spacing:1.05833px;word-spacing:0px;writing-mode:lr-tb;direction:ltr;stroke-width:0"
|
||||||
|
x="28.886824"
|
||||||
|
y="134.06436"
|
||||||
|
id="tspan9">SW</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-size:16.9333px;letter-spacing:2.11667px;word-spacing:0px;writing-mode:lr-tb;direction:ltr;stroke-width:0"
|
||||||
|
x="28.886824"
|
||||||
|
y="155.23099"
|
||||||
|
id="tspan12">P1</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-size:16.9333px;letter-spacing:2.11667px;word-spacing:0px;writing-mode:lr-tb;direction:ltr;stroke-width:0"
|
||||||
|
x="28.886824"
|
||||||
|
y="176.39761"
|
||||||
|
id="tspan13">P2</tspan></text><text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.35px;font-family:PXSansBold;-inkscape-font-specification:'PXSansBold Bold';letter-spacing:0.264583px;writing-mode:lr-tb;direction:ltr;fill:#ffffff;fill-opacity:1;stroke-width:0;stroke-dasharray:none"
|
||||||
|
x="37.113716"
|
||||||
|
y="90.013023"
|
||||||
|
id="text10"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-size:6.35px;letter-spacing:0.264583px;stroke-width:0"
|
||||||
|
x="37.113716"
|
||||||
|
y="90.013023"
|
||||||
|
id="tspan11" /></text></g><g
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer3"
|
||||||
|
inkscape:label="Layer 3"
|
||||||
|
style="display:inline"><g
|
||||||
|
id="g5"
|
||||||
|
transform="matrix(-13.333334,0,0,13.333333,185.20833,116.68125)"
|
||||||
|
inkscape:label="restart"
|
||||||
|
style="display:inline"><rect
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke-width:0.264583"
|
||||||
|
id="rect3"
|
||||||
|
width="0.26458332"
|
||||||
|
height="1.0583333"
|
||||||
|
x="0"
|
||||||
|
y="0" /><rect
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke-width:0.264583"
|
||||||
|
id="rect4"
|
||||||
|
width="0.79374999"
|
||||||
|
height="0.26458332"
|
||||||
|
x="0.26458332"
|
||||||
|
y="0.79374999" /><rect
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke-width:0.264583"
|
||||||
|
id="rect4-8"
|
||||||
|
width="0.26458332"
|
||||||
|
height="0.79374999"
|
||||||
|
x="2.1166666"
|
||||||
|
y="0.79374999" /><rect
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke-width:0.264583"
|
||||||
|
id="rect4-1"
|
||||||
|
width="0.79374999"
|
||||||
|
height="0.26458332"
|
||||||
|
x="0.79374999"
|
||||||
|
y="4.3368087e-19" /><rect
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke-width:0.264583"
|
||||||
|
id="rect4-1-1"
|
||||||
|
width="0.79374999"
|
||||||
|
height="0.26458332"
|
||||||
|
x="0.79374999"
|
||||||
|
y="2.1166668" /><rect
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke-width:0.264583"
|
||||||
|
id="rect5"
|
||||||
|
width="0.26458332"
|
||||||
|
height="0.26458332"
|
||||||
|
x="0.26458332"
|
||||||
|
y="0.52916664" /><rect
|
||||||
|
style="display:inline;fill:#ffffff;fill-opacity:1;stroke-width:0.264583"
|
||||||
|
id="rect5-0"
|
||||||
|
width="0.26458332"
|
||||||
|
height="0.26458332"
|
||||||
|
x="-0.0066148322"
|
||||||
|
y="1.3295313" /><rect
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke-width:0.264583"
|
||||||
|
id="rect5-3"
|
||||||
|
width="0.26458332"
|
||||||
|
height="0.26458332"
|
||||||
|
x="0.52916664"
|
||||||
|
y="0.26458332" /><rect
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke-width:0.264583"
|
||||||
|
id="rect5-2"
|
||||||
|
width="0.26458332"
|
||||||
|
height="0.26458332"
|
||||||
|
x="1.5875"
|
||||||
|
y="1.8520833" /><rect
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke-width:0.264583"
|
||||||
|
id="rect5-3-3"
|
||||||
|
width="0.26458332"
|
||||||
|
height="0.26458332"
|
||||||
|
x="1.8520832"
|
||||||
|
y="1.5875" /><rect
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke-width:0.264583"
|
||||||
|
id="rect5-36"
|
||||||
|
width="0.26458332"
|
||||||
|
height="0.26458332"
|
||||||
|
x="-0.79374993"
|
||||||
|
y="1.8520833"
|
||||||
|
transform="rotate(-90)" /><rect
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke-width:0.264583"
|
||||||
|
id="rect5-3-0"
|
||||||
|
width="0.26458332"
|
||||||
|
height="0.26458332"
|
||||||
|
x="-0.52916664"
|
||||||
|
y="1.5875"
|
||||||
|
transform="rotate(-90)" /><rect
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke-width:0.264583"
|
||||||
|
id="rect5-36-2"
|
||||||
|
width="0.26458332"
|
||||||
|
height="0.26458332"
|
||||||
|
x="-2.1166666"
|
||||||
|
y="0.52916652"
|
||||||
|
transform="rotate(-90)" /><rect
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke-width:0.264583"
|
||||||
|
id="rect5-3-0-8"
|
||||||
|
width="0.26458332"
|
||||||
|
height="0.26458332"
|
||||||
|
x="-1.8520833"
|
||||||
|
y="0.26458332"
|
||||||
|
transform="rotate(-90)" /></g><g
|
||||||
|
id="g6"
|
||||||
|
inkscape:label="play"
|
||||||
|
style="display:inline" /></g><g
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer2"
|
||||||
|
inkscape:label="Layer 2"
|
||||||
|
style="display:none"><rect
|
||||||
|
style="fill:#808080;stroke-width:0.258208"
|
||||||
|
id="rect2"
|
||||||
|
width="13.766536"
|
||||||
|
height="41.010418"
|
||||||
|
x="160.23593"
|
||||||
|
y="0" /><rect
|
||||||
|
style="fill:#808080;stroke-width:0.231279"
|
||||||
|
id="rect2-3"
|
||||||
|
width="11.116428"
|
||||||
|
height="40.745834"
|
||||||
|
x="162.66666"
|
||||||
|
y="74.877083" /><rect
|
||||||
|
style="fill:#808080;stroke-width:0.258208"
|
||||||
|
id="rect2-7"
|
||||||
|
width="13.766524"
|
||||||
|
height="41.010418"
|
||||||
|
x="160.99565"
|
||||||
|
y="149.48958" /></g></svg>
|
||||||
|
After Width: | Height: | Size: 257 KiB |
@@ -0,0 +1,52 @@
|
|||||||
|
import random
|
||||||
|
from PIL import Image
|
||||||
|
|
||||||
|
width = 1280
|
||||||
|
height = 720
|
||||||
|
|
||||||
|
img = Image.new("RGB", (width, height))
|
||||||
|
|
||||||
|
pixels = img.load()
|
||||||
|
|
||||||
|
colors = (
|
||||||
|
(0xFF, 0x00, 0x00),
|
||||||
|
(0xFF, 0x7F, 0x00),
|
||||||
|
(0xFF, 0xFF, 0x00),
|
||||||
|
(0x00, 0xFF, 0x00),
|
||||||
|
(0x00, 0xFF, 0xFF),
|
||||||
|
(0x00, 0x00, 0xFF),
|
||||||
|
(0x8B, 0x00, 0xFF),
|
||||||
|
(0xFF, 0x00, 0xFF)
|
||||||
|
)
|
||||||
|
colors2 = (
|
||||||
|
(0xFF,0x00,0x00),
|
||||||
|
(0xFF,0x40,0x00),
|
||||||
|
(0xFF,0x80,0x00),
|
||||||
|
(0xFF,0xBF,0x00),
|
||||||
|
(0xFF,0xFF,0x00),
|
||||||
|
(0xBF,0xFF,0x00),
|
||||||
|
(0x80,0xFF,0x00),
|
||||||
|
(0x00,0xFF,0x00),
|
||||||
|
(0x00,0xFF,0x80),
|
||||||
|
(0x00,0xFF,0xFF),
|
||||||
|
(0x00,0x80,0xFF),
|
||||||
|
(0x00,0x00,0xFF),
|
||||||
|
(0x40,0x00,0xFF),
|
||||||
|
(0x80,0x00,0xFF),
|
||||||
|
(0xFF,0x00,0xFF),
|
||||||
|
(0xFF,0x00,0x80)
|
||||||
|
)
|
||||||
|
|
||||||
|
for y in range(height):
|
||||||
|
for x in range(width):
|
||||||
|
pixels[x, y] = colors[((x+y)>>4)&7]
|
||||||
|
|
||||||
|
img.save("output/rainbow.png")
|
||||||
|
img.show()
|
||||||
|
|
||||||
|
for y in range(height):
|
||||||
|
for x in range(width):
|
||||||
|
pixels[x, y] = colors2[((x+y)>>4)&15]
|
||||||
|
|
||||||
|
img.save("output/rainbow2.png")
|
||||||
|
img.show()
|
||||||
-1
Submodule tet-cpu-plan deleted from 9d3abbb8e2.
Reference in new issue
Block a user