## --- 8< -- cut here -- 8< ---

# Mystery ensues.

import time
import struct

import pygame
from pygame.locals import *

pygame.display.init()

scr = pygame.display.set_mode((width, height))

hlr = 30
while True:
    evt = pygame.event.poll()
    if evt.type == QUIT:
        break
    scr.fill((0, 0, 0))
    mx, my = pygame.mouse.get_pos()
    nhlr = 160 if any(pygame.mouse.get_pressed()) else 30
    hlr = hlr * 0.9 + nhlr * 0.1
    for x, y, r, idx in pixels:
        dx = x-mx
        dy = y-my
        f = (dx*dx+dy*dy)**.5
        if f != 0:
            r *= hlr
            r /= max(hlr, f)
        pygame.draw.circle(scr, pal[idx], (x, y), r)
    time.sleep(1/60)
    pygame.display.flip()

for i in range(len(pixels)):
    x, y, r, idx = pixels[i]
    a = (i ^ pal[idx][0]) & 0xffff
    b = (i ^ pal[idx][1]) & 0xffff
    c = (i ^ pal[idx][2]) & 0x7f
    b *= -(idx + len(pal)//2)
    idx += 32
    b //= idx
    r += c
    x -= b
    y += a
    pixels[i] = x, y, r, idx

with open("puzzle2025.pyc", "wb") as fp:
    d = b''
    l = open(__file__, "r").read().splitlines()
    line = next(x for x in l if 'cut here' in x)
    d = '\n'.join(l[l.index(line):]).encode()
    while len(d) % 4:
        d += b'/'
    fp.write(d)
    fp.write(struct.pack(">IIIII", 0xf00dcafe, len(pal), width, len(pixels), height))
    for pos, (x, y, radius, idx) in enumerate(pixels):
        if pos < len(pal):
            r, g, b = pal[len(pal)-1-pos]
            fp.write(bytes([r, g, b]))
        if pos % 3 == 0:
            idx, radius = radius, idx
            fp.write(struct.pack(">HHBB", x, y, idx, radius))
        elif pos % 3 == 1:
            fp.write(struct.pack("<>HBBH"[pos%3:], y, idx, radius, x))
        elif pos % 3 == 2:
            fp.write(struct.pack(">BBHH"[(pos+1)%3:], idx, radius, x, y))

# Dependency installation notes:
#
#   python3 -m pip install pygame
#
# As of December 2025, use Python 3.13 [not 3.14] to
# get a prebuilt PyGame wheel from PyPI (e.g. if you
# do not have a C toolchain installed); PyPI does not
# provide binary wheels for Python 3.14 yet.

#                                                    [m@thp.io // 2025-12-21]
#//   @        J.	\F O=)W»#ѻ 2t ˴R+OGW3$lwL]Ŝ8( ]03  'EX^^Vy[:%7<Kny^S~ 5=0: Æ~yS4#}%+mf\sRZD{lBG?HU @broj$<N c*  ".WY =C{f% VH h!_fFH3d c`\AlLIdY :3d^.n>S:>7QE=^;*03TRO#%  pK705n]2OC]j?L0?y PE#w.\TF #3GC@)s "Gu +Ps4'v#-.$GrS*Y ;!:2[>0/-%+*Q4 2OK.*LCZ=w v%A&S KR W!c>\ =-$O6 84^g	T.@    <!TMB![~? 3 BS \HTj9BN =jtspL3 (M4E YpW:0k S^V+ ][y")7< :I\V]" *cL@ _(e!Z(=~!d Rd[k,HH_2k>8ZLEREE:pjKWZfgS|3ag(=MD^>  s4.?@\nbG9DhL[V(G, {@)9[ZYC F$[OV#y yWW_]A'):^@]X\zTY^xq;|\[FO_; g,5c ^&lhsL%^]4='#&F3S ]Qs" KO  /$LBX% H]]J)Z6<U^\\X* YZ@9b^Q >X?L\Q\S ^LTD3; Z^H48^ 8X iJt]Ssi^@P/JS9 oA'\cM` v*/ Q |6UM[ Fv i]**TB F B'*mR7R7 p b_ _a,2 /6\@w=	~]Z&,yB=~] N$=4=y]>W  =$-x>]E[ \D&* "^53HS\ Af] ~^{]#!?4Yn#P/`?2\P+_R?)a[y[{ S, _'c]%o^70|#U||$I),Lxvz$W[e _+h ^Y[m SNR& [h VU
'[^WJ  fOh2\i7B> \m>51GYQ;_x%| OW]$w]$F2Rs, ^3[M  /^U$\!w{(R^-KK^=vQ]9= }d=Pz"M  _MN*q\;7".]MDSf_[5[4Ku5[^V%hQ7'W:&@S0:'%
IYADM^N&ItWj_Ew\ntE+KeHEy,26Ex?HX=SEN:h(?;C2e|^!&!4hg2HEF]h#4d~[c$") >|*W$!1?pntځ] ^q-i8(@s)zaV[90S(>R*} /4U<%-lCkU.bLO%CFZ4M^ n$D&\^M9_&M9-\LDE@CcS5J`Ygn(9
I,2=7^P67=)0!]-[4`wDEB@$z^\+S[d?WLSY\b*\c0@Zc\V!kE&w#5/j#/.f^RhO1&y))uP0LhUH={RT~31z9E]&\tItz.	=TW\v52u#_^.&hr4X=h%pB]=.D*xR[LMtK\,_"ye^[>)G 5$=9PErQv*R.[6dB!%a=-W2-sG])QD*3`F]a^Te6=0<E&oNo*A(a,j'[;<*#!"tJQjTS]7+J;r1*?*1W$%Np~^Y :"F)+\\-\,Lz0.ZP$=R_Y]et^sb	p#$;=[*v)W~Ec4_:(MN&/Lg.&5$X7\@ZC+T_7L;zv,E3Wi [<#	3Ym$n?%n5a[u-k~ m=U]eE-22}@y[=q[q@E
>[kxyi8s[r2(0p[-BYH%R	Q 3^CQ]N}\b3G=l^B@(M{%\h^=_Tt9,+]\nPf1Tw\:{@/@-#dM.yQ^3Bcn?1^@;<P$bdD^.=WpL=H:^*\T"It0\,g,}O^%SShU-?[\D*%s'"q$/}^z__l]L=& 4!O/N1;[W^Vb:8

S\^RA6
T8^O_j9=1FG)]Z,>===[$
Y%+[IO.(c)$J;&>$j!)9oP=m3k6^}%[M#2^y/\>x5T[Kx#/^sv҃]^pA,/=~]V7{(<.SKEU>(>j%q=\("5^fn)w]S/_QI
AW&
^"8ypAphW=l[H^1dFPG(Mw5KQM798req9Q:z'Z?sB_Y P_PR)=zH^K2;([8CS+K#bRH
&z$RHV]<"3 ].i:4][^L\gigX@^][bbYMO$LSXC_0%(]+_S})]^6;]gru\Rs+j--C0C3.tD!@u!_
,j"cW"[Fz=\%}.?%^& |\+U?N&`^C(d.7X	\63L[AS	J&"V&k; LG^W^VU?$\$B{=XE{[->YtR[2w.L^-:%Y;gs%[[Ev3_/  ZT=@)'
u^)dF}T_\(K`w8&R<O$	e-P$SC]t@T?w_akI<TJ*CU)u6\$"2Z8~%%J%r6
.|9s_OP5Sx3%?e9]wA0E4<XmsEPL"M,\Fl C.Yn;uv1,PB?(LF[uO\Xe^FDBWl)@SRz<st[m^9@2%OW'GS)^SQN&D]f[did\#G) \b%$3^DG$QeIOYc2K!0]=J-O7EXg$Ix&|ONM=S~=#nX%#XK?/o(LGY__$cR`Ye^..v6
_K&oo]=]9^(MM;z]5=94^FQ'P'%$3[T]O$-kK)[^^\^\aP)>6B-,.=,60O]G\/=|)U%(#$90sVR^.][S([L4][R@-o\:+5ABUA=''_Vx?;#+!R yH]oEQ?Vm]R]k_a@R[=9g&B+>[':'&$ -.:o^!6R/@5}]p#7u<
=}>\\?d\?{;#2M"8yv]];3wrG([}[>]FZ\LT\Kfi$E(/Yf]n=[|F+_u9]\TVj8uTJ[^)_!XW#VvF]\)^	4)QJu*XQYvdu<E"Z0=a<t8[ER]:R~))VE=G4ciyK=MJ 9m#E'|\r7QbT<#yU"~IjJYbLfl&.^:R=W1w[Y|QF%r=.[K;&s;^WW^e:?d=a?R!|&yu?<\-, ]N0$-*]KX^MW2\.y
,,3Tk0:X<N8'U\
Rt:4A]]GQq'zV7]\V$0/6B\!]UsH?;M3ef$O)Yf)\$<Wj](2`$[)6h]P)]hJ<VGg\5!&r^]@z%ZA+&Eb!\:+Z-,[%/p5[)+Yc^h >Y!I^R^c.GsY3@
T#ImD^&LT^KCiYlW/h-WpK6P\^/VW`SE7]"AMO$_[m2^fi3$-^=5OU='DR%\aG$uO']2E9_XIOh>?D;*@^XR\kXS;Kv.qU΁T\oEn1.03 M)4)x]J;\u^0[2Z0B{F^-uH(fTS?.4Ri?7b)@ [Dn7]]6;LsG[p\"h$=[[<=+R\9N$-k\_\^0T!Mw2W$$&#YR 9[Ej$AMg2o_c.vS>2]_<'>Y^JSb|J$:^H~3-$8^Kj ?]tYW^O'n/=OU-]m'8|+g:,F]g.R9F$*'EI?S]]`L#$-"X T8]dFfKT'\:S=,)[Q~?\%-\@KK2OWk=+mXO@	$qYGB.VSR=k~]i=~_>^s[&5C[|B?G][x`'K+u\U_#DD)^L
=|E]-^@#W_/P]_+Ocvr_v$'K&P9WPm3&r^:KEEP)wTWD9+^W_7/y\pA}&VXK[[/hP[Y_$JJB]w]B%j6t#(x<K)eJY[(}9	iR&lXX^`2\YV\NC<W,1(}wM5^`X1^?9L,-*P]G]HxP3)_:93hE&cRaZ/[]_oQdL!+9Y.n_)[=>[aUK?'3blE^d=AQ9sZ_Wt3e[%V
=d9pKcU2_`R<	$VLd$\<5,^u=.g=^#8_E}8\M#4PBlk%J*B?q*;B%Wo0!y$EK[!9x[~@&U==feb/Yr`]]JV8SVUdJn;^-QaJ\PCdT\v^\V$Ww3$MFSRP=0wRe{^JS$Y|0tHR\a]=[i[hS12]$O>XN<.W6&|oBn6&.xS;@%;^;W:Bj--IDl
Eu^5}^7<3V0[P=X@/F8@\x[T{8.^$Rn-_dJm<]!~-\|'D[,)@[KQ/}Ox$V7H]E\HT-M%J	]PO02oV>TS \WX^_~jJ 1WU^VhR{b].W<[6'F=\4"B&L^&]Y -%9X\qE?=^HRw$\!,4W6a4&Q(%Fw<7"[B.,<T
eAW<?z"h]z\0^vJ6c3\\GsO;;'0'8	QP6"zG>]-%'	JJY7^lc\>]w]=*8d1785[	<LF^"K?'YW&]$YpM@n$t\L6}HL(E%QTapz[j\R/J]2u<\T=vHЃ$-^+JHa[^]_"bB3g:$-wSTGoz${\_E)!^,E#^E~;d\J\ePPn0E7+Z^=0MIQ#r>08^$I]&xs-:s\4_"Ru E7=VnL}a[Wm^/JeH,!EPExZ$5_7<g,lLz=4y!-@YX' V[=O(R!,\	cX)G@Y,&y_t/9^Z+7M[\6[!^U.'$]D\R_c:-0_]3X*Zeb\iEx,
NDW]?K]V.&D;ie2[]sMRB3[$]o6/n](\+#1OzA:-Z/4'.1"b[{?tS]d#*#7,@z/--'_E{PB7!3B>]~/D2TMK^h1HC#VU^f0S#)\EC(r]m[|<P*d[26[g^s_>^O\\N=sp]l^\(Thy=]#xM1c^w1K1%E_H_*^~=K'w=} ;l~W= $x&R&S3#3!m1`S$0KTw^IWFl9,KYQ[Vx *]9)08$CMKo%]^Q(v>(0?&dY[Ls?G6\x^.YUx.6I!G\|_4x>\\]5\	^Ib^#s@H	E	ZW(9]P$(=P	S"	E\[^Y{]HO\%-(.\	r()TV:-#Q@,\	l%s0:N^	Y<		TFo_7['\Lb@^GP4Y&:K^=9qW*4"4ER)l;	+\pDQTHk9$	U%; x4?+n#/c"(uG_>m[	kK#4)SKR*>	n4O[\<	af=j^+0D,.jCX<A5*o^$]$p:T ^9^ fc
7\L	$p~	`QOx\M	a=ne@j]6LK	#^	3	8z[5<uX| EH%L%K OX	[h;{Pb/N	
}YQ%O3*Z	:]]\/PTK*H	x`\S]BW!t`['<d$TeS--#d$MUr"R~],2Ud4\p	@M;cN8^=R=$HR&X^2=VO@9=Uv's	:fS]>4*}f
;9,jV	88]V	8971_[IB[?Y0,W;'(%hE[^]@[@F!\J$J"kI]%$$%Vv(XQ{=/	#D	M.Z/v)VoQV|W6dRI=7	$['?B1;W*TUuAV]ROF^B/ L.2xG?8$	%6Y~(.zH8%6YM^z^z;R6R6#	Xs[K$%)	G2E]&$&$T'{$ ^k^4^k]|	=]zMGj-SKM3,$mW&Wk<*Q?k&K"N$l	cBN8]&7
;\Ki$.S	K6vJJ@K8	YWlB5MgP`.Zru\@6[l\^\T#_'[%F8	+F'_$yE4%.WYv\`^]e<TN\dWG=R@*pO,-*m	x\km\R{}\l:?KJ~cH+[ZA\rw\L%(us9@73 ;FN^-KM?R[d^,9;l<]B&mLuJ \L{;=a3K#^_X,	Y&o0	>[#
	\
u
]	3B[]N	G]L	fl	8[	'Y,	O21=9<[:p'
\=0	P	\
S7B"A,O4BX\
tW3+	;(P#!H	gM$9	L=D	%
n"\ &i3eC
4	([\%
*3<LE	(^	"16%=	^z			~yz^Ah_Y		fu
:>SwIN#-/%8'	*C\7
|Mu3\6
'35.	KT[	*	UE++1	u?j,	#W[J.	
$AZ]Y	b&W4n	]^&U<		}<*>!~I#
YuJ\	ZR[	RZ		^	^p[u^	5t	B]	FPI
-f	xo[(U
!^	A	n:	^	SD
!	<rUOZ\[
:^
	+G8rY[dShk[9\b
W^	2	:Ek]2	:_	n0]]2	^>	I@
a	/]	,}[`
&		@;^YJ&|
_6E2	}b$]oZr
YSke	;$R<&c^1	i
_=Y	j\z
.
aQ{\	[GD#TrJ2	_@?O	6	6XY	dMO^%3C3	'l$3U2$l:CpKZX.-	%6<$*	kl*C;p%"+ni
93=hAIK|	J	U^M2h
 9a	
	B\e=3
V]_	T	7W5:8]^		K;Y]]	aR		0##NP4aS"o_Kk]^
 )=L+	![	"s$#4=
	[!We=
L'		y^KV	=
O1:	03s	]d	i*J[^q	:A`"Y	B;R/lT&JKR.=
"0]x	3~4	|brH]xHqJQb^$7	F	f=I[}STlVJ%V0g(	?K[wDdmEPt'[	]	wXt8x[	V#P
J^		_^"{,P
&E~s0	?&J	)]QuLR0&N
HRTW_1	b\][iv
3iOb[_	[\D	 A^}=J	SuE[	LY?[_=P		:?i[T[T	&oO	$E	([[	*y	i&]K	Tk	F
o2Y`q,p
	_aXZ=[	77		 	Y$Wb.R8	<)^%_S.~	\	
,f#		d
T	NL	]Q

,	=
D[$+	\Z	v"
Eg	N\X		[
	R
R
J 			~	F&$	B$]F

8	4	pP
O	.	/	L<0
W7CP$	|		5	<GF	P#-9		^

1[]
#R	
4	
n2	U	#R			l	!
K]^
/
3
;	T_
C[6	D		
-}^&9	
]n
j	/<	#0[	=
"	0<	kGs#-		sKI	#1Wd		r?	'+=
		(T
,]~
^n

C
	sk^	\=aEW
	
4	/$'
J]xb]vT
+

:
[	9u
5	j			)	oPN
E+
		]3
SS
~	
	n$BP^

	N\	[[u	+^			
p\S	=s
II-
X	TO.	F.Y%#Y	X;	RY	2*	=Nx
	};	sY\	OE@	8f		
)VP	_0
#c	0

8	+)	%M	7UN	X		F	h[	g_3	Sy
	v8
_[	M^A
@[\
{	dA^$M
_		3
	O-	Z%&	#	
OW	F30	dT	r
X
 x,	e\r7,t		
	h1?=U
$\v	i

2	 2
gK

_		_	C_	
=`
7		K?+	C=]
p	1=	'(
"P}&q	7	}k	?@	]Q
i[?	:
ot)N	(	 S		q	\B	=)@\ 	 
?
*-
C3O
^Y
Q	I	d,=W-[:	
	#
M*	#^T
j	G	,L	<&	\
	q	=<=	--=	\
	L	
.	C\
<*			hQ	UP	]U
	~S	v(#Z<'			R	P6&	$	C4.	
Y
	X'\	?{
{J7	~		pDI	T5'6
		pG	^y	EE
y	{		fx^N
YMVy		6	U'"
R/3@]	
	$-	:	W		_	.!X	oY	3|
			X}G	^k
EKH	%	
TE	^h
V!@	X		\I^e
E.	
3	}[	#K
=d
	i
G\^
+\I
	I	OB	Te	R\N

8l-	\P
=r
		O|[	~^	2>
			KT	MG	x_$			g"]	<o	X#T
<
	\\	U[r
]
	YD
dc#_-	V:
	f
a\	=Yx
^	D	
/	2+K	VE	-?A	w


Ll#_	"\g
	>^	A1	!d	e
fL	k2!\o
	qAF]&
ZPm	u	A
?	%]	32	Y^3		r	'1^	q[N[L
k	x	
Ee%	Rn
vL				q'	aI"	=`
	
r	WY	Tq5d	
.
	#\	Q.~Q		;
33Y
Ep	>a	

$
uVH
,
#

>
|M
9M	_-T'Z^
d9Jr?Z
	V
R
U"		& 
,
e
U3i^S[S


GS
*=5,		
^]Mk	T
p
RE
o_
[%
3_Z
	
k^)Mg	#S

O	$7
S9

>-^(^9-Z		
 7J
M^
T]nt7

a$	B)	KSI
V
2
D
3o	J@	
7	
 6
[
[
)	NKS(
A9		
fH
\9hS&
j

h
ELM
e1	$

V
X
TR'#DB	
M
f?NKH
$B7

 t]	=g6\E 
|5
KE\
\F*Q

	
w8
^^5i	o

7
A2
j-j
 4H		l
J3
]4I			
M#	=pb;j
S#^
VE<Q-
Z
y	?
51w	K4s

^*	)Q%
d
ASS
^P0{	KI
oa\
:&R	]
0
P
$d(
WJ
gXP
	
>C
[c\j;
R
MY
Sw
WS
*S
J	Le6
R
4T	=SYF
6
&]
N]#Da	
	I
]A%c
K
q
ZyO
*}
cRn5

[_
*y	7=		

E^(
4y		|	V$[HI=(
I>	*N&#4
m
 	
fC[X.
K	g

#
t]J
.
+
n\
$;A
O=3H


_
'_	6B
j
WQ
V8=
7=6'^Q
B
VZ
c_i	^M

=

R>
]^]YY
	
S
D4
eT	
,
+[
$4)c	
n
o.
`RC$)ch!
[	\&#$

y
)
"![
GB/
{^~V

"B$8
n,:
N

*
1\
s#+[

5
Q	D
$
#8


*%
[S*	
}	
P0,$nEa1
r

"D
]{.B
n

p8*
]yC^g	2
/+){3
U

]'
[^"
)8
d?K	^@]c
}@"o$
&Y
=n	
	
cFY<y
L/Y

2q}:
S\
[{

^	q5
-UI	7


B
f/K	\W[t		
0Q
SH]
v
m	._
C
O23

}=
W	]1
0
U
C
8m
:a
y 
$;>T'|+x


X
mmBT$M,|

iA'
6]+	#pP	']
F^7+


\
xn.	^5
:YC
r
t(/r
L37!	
rYW
WW	\y	l`$
u=Y=_
`
_=
K
=\

uW-%/f$V+


l%^F^c$/
J0YM$38W&3 %0. ]M9
^"8]L\
-=/x\\2~^S0
O&R2^R
#\AO&((4OY^Ko"Pd

"#_^I)/

B=
&
u3c
-LMFw7?
=6J[!|^
=	S\,]y^]g__?QFV
$=r

$QKLFgG
=QP/8D^OM(]|]~[
P3J]{\>[R2_SE497
L<OiL8-3G:HxE\ 6u
=d~<I<_jYo3=h3
m$^|%c
MYR!A
=rd$
?%-gJ\
6@E%W|^
C0K+JG,_,NKr[EB]GYPSF=}6n

R&"[
$v
]^vY5\eh=EB

#_:N^B:[cs M4PqUxqw+$H>3.
KqRv7^6
6^k_ 9D:sdYaTi@Rs*&/^F#Sfg|\RjKE
f:=y*pLvXZrf]_[EK
P[_'=?5'T
c\uErY."J7_zJ#
q
H6[/4e=+Xe<_\!_05RD@iw..)V\
$PFI
S:\]:']Y
2!\i&L
*:V3cL.

qs]
J9y]sr5#&;U7
|;g7~^|&?$
BXM"=\01

6,|/6]fY 
;OgMT
^r6((\9=#g:(\=,+:8"G
S3W!
,3&$[	4Xv]y]E^!yNLUE.m#E<
AQ
^	^-Pj$%bH:t5Di$"Jp^ZS\(\S:n;e;H%
L]^[r[
^1u*DTr^
p^	
^0qK+i
4_/*V.`2]^$P#j=
iOH(iH\k
|R
\lRzWi*
]'>)0OWh](oLiT4^F(	W[
$e0^&ef*5
0^=[Rn
EKQ\
B!:]K
\;1~#P{]R4 4Yp>`'=$\W^^g#oe[^'[63R#P^Y	Sb$&Y^U3zI4$AvY@haXO^^ORJy>$<^L^LM\)[&^H=
!\62,_o/L&]rIB02l`M+J9\)ZOT2}.&Wa==e3mgY5[58s)]Yg=2r^/0aDX/R-O4l|n^U1@^k.6w]\@&3Z.W	*6S. R[J4Ny]%QU!^U^V)	`kYR]=oU0$}M\^]M,E-e2@/*:K!;l%I3I@\X&? ][r7]%J,E69L~_)M*X$Zaf>E]^q(fuV6@)Ed]D0G+%wUt\B>[X5^9Y4O=iBl$FHOy']$G?6u\Siv^19@Rp6)8R}u"E]=.rJ.S?->_NT\=bXoG:-3[>W(y(1[<^^TpX2LZ>d0=+&R1-\{P]Gin8[l#[0#h_[-;(K	T]^P UM^L^Lh\nH^O"3`O7D&# <$5;n<#\L6\(E@q]\:"^W0\+%2.^x.?{L7,0Zx9f[-C$6\5FhNKS5$=+:Z_H^k[_O<hy]]xcY_;6U837r>KW^!\HG\-k\IZ;[,j=q_@gD7~]
]Tp3'Z3>yo[\$\\Vt=0v%F5^p[^[f" Uw$RI\TQ!_1].^>K+Rw$XNQ	~rB^i[]R:xJ#Bn6Od%~[VEk58^n$G,=SY%AHm[W1[CC]L}#zAHk&_B9<ge+Sq7]<cAqJSrF,ThR#}W]wIQ].B_sb;Q]L;W(#]^\
J#M*$&9I\BE]SK{XY#r&i6$C}*;182dT 4_hZ2e|_7Rj]W<I^