Объединение - kenrube/Esopoly GitHub Wiki
Вот мы и подошли к финишу. Осталось не так много: собрать воедино все исходники, созданные нами ранее. Добавим 19 nop
-инструкций в конец общего исходника, сформированного после добавления EXCON, - они нам пригодятся в дальнейшем:
DCBA@?\nZ;|38x0SA3tsN`Lo98*G"'&%$#Sc>`v<zLxwI5tWrDpoAm?Oj)Laf8dc\aZ~X|?U=Y;v9ONS54JnHG/jJCBGF(
>b%;_"876Z{321U5.-Qr*N('K%$H(hEf${Abaw=^zs9Zp6Wm3kj0Qglk+vo:sooooa3o1oo>>o+dosaooooo11ooDo++oo
oasAooooooooo1ooAos+aoooo+oooooo1ASooo+^os[ooooso11oAoooo<oosooooaoo1Aoooo+oooaooooo100ooo++oo
oasoooooooooo10SS32+0oooo+ooooo2o0Aooo+oosooooo3o10oAoo++ooaoooooaoo1Aoooo+oooaooooo11oooo++oo
>aaAooooooooo1oSS-s1aooo]ooooooo1oSoaa<^osoooooso11S.oo>+ooasooooaoo10oooo+oooaSoooo11oooo++So
oosAooooooo32o0SAo2+0oooo+[oooo2o0Aoaa<ooooooooo2200Aoo++ooasooooooo1ooooS+oosaSoooo10oooo++oo
oaaAoooooooo210oAos+ooooo+oooooo1oSooo+oosoooooo2100Aoo>oooosooooaoo10oo-oooooaooo]2100ooooAoo
oa<oooooooo3o1oS.os>ooooo+oooo3o1oSoao+oosooooooo11oAoo++ooasoooo[o21oooo<ooossoooo3110o--oAoo
oosAoooooooooo0oA-o10oo-ooooooooo0Ao>aooosooooosoo0SA-oooooosoo]oa3o10ooo<ooooaoo^o211oo-ooAoo
oasooo!ooo:o21oS.os+aoooo+oooooo1oSoaa+oosoooooso110ooo++ooosooooooo1AoooS+oooaooooo100ooo++oo
oaaAoooooooooo0o.oo+0oooo+ooooooo0Aoao+oosoooooso110ooo++ooosooooaoo10o.-Sooooaoooooo00o--oAoo
oaaooooooooooo0SS-so0oo-ooooooooo0Ao-oooosooooooo10oA--ooooaoooooaoo10o.>o+oooaSooooo00ooo++So
oosAooo[<ooooo0SAoo+0oooo+ooooooo0Aoaa+oosoooooso10SAoo++ooosooooaoo10o>-oooooaooo]o200ooooAoo
oa<Aooooooo3o10o.oo>aoooo+oooooo10Sooo+oosooooos3200Aoo++ooosoooo[o2o0ooo<ooooaoo^o2200o--oAoo
oosoooooooo3o10SS-o10oo-oooooo32o0Ao>oooosooooo3o100A-oooooaooo]oaoo10ooo<ooooaoo^oo11oo--oAoo
oaaAooooooooo1oo.32+aoooo+ooooo21oAoaa+oosoooooso11SAoo++ooosooooao21Aoooo+oooaooo3o100ooo++oo
oaaAooooooo3o10S.os>0oooooooooooo0So>a+oosoooooo211oAoo++ooaoooooao21Aoooo+oooaooooo11oooo++oo
oaaAoooooooo210oAo2+aoooo+[oooo210Sooo<oosooooos2o00Aoo++ooosooooaooo0oooo+oooaoooooo00ooo+Aoo
>aaAooooooooo1oSS-s10ooo]ooooo3o1oAooo<^osoooooo!100.ooooooaooooo[oo10oo-oo:ooaoo^]o100ooooAoo
oa<oooooooo32o0SSos+aoooo+oooooo10Sooa+ooooooooo2200Aoo++ooosoooooooo0o.oS+oosaSooooo00ooo+Aoo
oaaAoooooooooo0S.-s1ooo-ooooooo210So-aooosoooooo211o.--ooooaoooooao21Aoo-oooooaSoooo100o--oooo
oosooooooooo210SA-s10oo-ooooooo21oAo-aooosoooooso100.oo++ooosooooaoo10oooS+oooaooo3o100ooo++oo
oaaAooooooo32o0oAo2+0oooo+ooooo2o0Aoaa+oosooooos2200ooo++ooosooooao2o0oooS+oooaoooo2200.oooAoo
>osooooooooooo0SSoo+0oooo+oooooo10Aooo+oosooooooo100Aoo+oooaooooo[oo^0ooo<ooooaoooooo00o--oAoo
oosooooooooooo0SS-oo0oo-ooooooooo0Ao>oooosoooooooo00A-oooooaooo]oaooo0ooo<ooooaSooooo00o-ooooo
oosooooooooooo0S.oo+0oooo+ooooooo0Aooo+oosoooooooo00Aoo++<oaoooooaooo0o>oo+oooaoooooo00ooo++oo
oaaooooooooooo0SSos+0oooo+ooooooo0Aooo+oosoooooooo00Aoo+oooasoooooooo0o.oS<ooooSooo210oooooAoo
>osAoooo<oooo10oAo21aoo^ooooo!oo1oAoaaoo:sooooos211SAoo>ooooso^ooao21Aooo<ooooaoo^oo11oooooAoo
>osooo>o<ooo21oSSo21aoo^ooooooo21oSoaa<^osooooos3100ooo>o<oosooooaoo10o>oS<oooaooooo100ooooAoo
>aaooo>o<oooo10SSos1aoo^ooooo!oo1oSoaaoo:oooooooo110Aoo>o<oaso^oooooo0oo>S<ooooSo^oo100ooooAoo
oosAoo>o<ooooo0oA321aoo^ooooooo210Aoaao<oooooooo2200Aoo>o<oasoooooooo0o>>S<ooooSo^oo!00ooooAoo
oosA:o>o<ooooo0oAoso0oooooooooooo0So>><<osoooooooo00Aoo>o<oosooooaooo0oo><ooooaSo^oo!0oooooooo
ooso:o>o<oooo10SAos>0<ooooooooo2o0Aoaa<<^ooooooooo00Aoo>oooosoooooooo0o>oS<ooooSo^oo110ooooAoo
>osAoo>o<ooo21ooAos10oo^ooooo!o2o0Sooooo:soooooo2o00Aoo>o<ooso^ooaooo0o>><<oooaooooo10oooooAoo
oasooo>o<ooo210SS3o1aoo^oooooooo1oSoaa<^osoooooso11SAoo>o<ooso^ooaoo1ooo>oooooaooooo11oooooooo
oooooo!ooo:oo1ooooo1ooo^oooooooo1oooo><o^oooooooo110ooo>o<oooooooo32^0oo><ooooooo^o210oooooooo
>o<ooo>o<ooo210ooooo0oo^ooooooooo0ooo><^oooooooo210oooooooooooooo!oo1oooooo:ooooo^o211oooooooo
>o<oo^>o<ooo21ooooo1ooo^ooooooo2oooo>><<oooooooo22ooooo>o<oooo^oooo2oooooo<oooooo^o22ooooooooo
>ooooo!ooo:o2ooooo21oooooooooooo1oooo><^ooooooooo1ooooo>o<ooooooooo21oo>><<oooooo^oo1ooooooooo
>o<o^o>o<ooo21ooooo1ooo^ooooo!oo1ooooooo:ooooooo211ooooooooooo^oooo21oo>><<ooooooooo1ooooooooo
>o<ooo>o<ooo21ooooo1o<ooooooooo2oooo>oo^oooooooo22ooooo>o<oooo^oo!o2ooooooo:ooooo^o22ooooooooo
>o<ooo>o<ooo2ooooo21ooo^ooooooo21oooo><^ooooooooo1ooooo>o<ooooooooo21ooo><ooooooo^oo1ooooooooo
>o<o^o!ooooo21ooooo1ooooooooooo21oooooooooooooooo11oooooooooooooooo21ooooooooooooooo11oooooooo
oooooooooooo21ooooo1ooooooooooo2oooooooooooooooo22ooooooooooooooooo2ooooooooooooooo22ooooooooo
oooooooooooo2ooooo21ooooooooooo21oooooooooooooooo11oooooooooooooooo21ooooooooooooooo1ooooooooo
oooooooooooo21ooooo1ooooooooooo21oooooooooooooooo1ooooooooooooooooo21ooooooooooooooo1ooooooooo
oooooooooooo21ooooo1ooooooooooo21oooooooooooooooo1ooooooooooooooooo2ooooooooooooooo22ooooooooo
oooooooooooo2ooooo2oooooooooooo2oooooooooooooooo221ooooooooooooooooo1oooooooooooooo211oooooooo
ooooooooooooo1ooooo1oooooooooooo1ooooooooooooooo211oooooooooooooooo21ooooooooooooooo1ooooooooo
oooooooooooo21ooooo1ooooooooooo2oooooooooooooooo22ooooooooooooooooo2ooooooooooooooo22ooooooooo
oooooooooooo2ooooo21ooooooooooo21oooooooooooooooo1ooooooooooooooooo21ooooooooooooooo1ooooooooo
oooooooooooo21ooooo1oooooooooooo1ooooooooooooooo211oooooooooooooooo21ooooooooooooooo1ooooooooo
oooooooooooo21ooooo1ooooooooooo21oooooooooooooooo1ooooooooooooooooo2ooooooooooooooo22ooooooooo
oooooooooooo2ooooo2oooooooooooo2oooooooooooooooo221ooooooooooooooooo1oooooooooooooo211oooooooo
ooooooooooooo1oooo21oooooooooooo1oooooooooooooooo1ooooooooooooooooo21ooooooooooooooo1ooooooooo
oooooooooooo21ooooo1ooooooooooo21oooooooooooooooo1ooooooooooooooooo2ooooooooooooooo22ooooooooo
oooooooooooo2ooooo2oooooooooooo2oooooooooooooooo221ooooooooooooooooo1ooooooooooooooo1ooooooooo
oooooooooooo21ooooo1ooooooooooo21oooooooooooooooo11oooooooooooooooo21ooooooooooooooo1ooooooooo
oooooooooooo21ooooo1ooooooooooo21oooooooooooooooo1ooooooooooooooooo2ooooooooooooooo22ooooooooo
oooooooooooo2ooooo2oooooooooooo2oooooooooooooooo221oooooooooooooooo21ooooooooooooooo1ooooooooo
oooooooooooo21ooooo1oooooooooooo1oooooooooooooooo1ooooooooooooooooo21ooooooooooooooo1ooooooooo
oooooooooooo21ooooo1ooooooooooo21oooooooooooooooo1ooooooooooooooooo21ooooooooooooooo1ooooooooo
oooooooooooo21ooo3oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
ooooooooooooooooooo
Все готово к тому, чтобы наконец превратить этот исходник еще и в корректный исходник на Malbolge. Для этого я использовал самописный генератор (на Mathematica, разумеется). Алгоритм его работы примерно такой:
- Переводим число PI (не все, разумеется, - порядка 10000 разрядов после запятой нам хватит с лихвой) в восьмеричную систему счисления - эти цифры нам пригодятся.
- Пропускаем первые 152 инструкции - это уже корректный Malbolge-код, генерировать ничего не требуется.
- Смотрим следующую инструкцию. Если находим не
nop
(o
), пропускаем. - Если текущая инструкция -
nop
, берем очередную цифру из восьмеричного представления PI и номер инструкции (mod 94) и используем их как указатель на строку и столбец соответственно в таблице перевода (мы уже ранее пользовались ей). Если в результате получается одна из инструкций использованных языков ([
,]
,<
,>
,-
,+
,.
,,
,0
,1
,2
,3
,a
,s
,d
,f
,A
,S
,D
,F
,:
,^
,!
) - берем следующую цифру из восьмеричного представления PI и повторяем этот шаг. - Если полученный символ не является инструкцией, заменяем им
o
. Возвращаемся к шагу 2 и продолжаем до тех пор, пока не кончатся все инструкции в исходнике.
Например, следующая после Malbolge-кода инструкция - nop
. Берем 1 цифру из представления PI (4) и порядковый номер инструкции (153) и используем их как указатель: 4 строка (значит, это будет инструкция p
в нормализованном Malbolge-коде), 59 (153 mod 94 = 59) столбец - находим b
. Заменяем o
на b
.
В итоге, после прогона через генератор исходник выглядит так:
DCBA@?\nZ;|38x0SA3tsN`Lo98*G"'&%$#Sc>`v<zLxwI5tWrDpoAm?Oj)Laf8dc\aZ~X|?U=Y;v9ONS54JnHG/jJCBGF(
>b%;_"876Z{321U5.-Qr*N('K%$H(hEf${Abaw=^zs9Zp6Wm3kj0Qglk+vb:s%$G\a3_1@{>>w+d9sa`qK4m11}iDh++)?
(asAM9"n~lG{z1C5Aus+aM;'m+HGihhC1AS?b`+^Ms[77u#sl11oAPPOM<LJseG$oa~l1Aiyxw+;u(a7%o4O100jWg++w)
(as$q?8=Z|YWi10SS32+0NMLm+kk5EW2C0AcbP+;MsKw76G3r10RA@y++*ha'%$6Eaml1A/zTx+ut9a&Ron\11Y|{h++@R
>aaA@p87IZ{{W1TSS-s1a)_K]\HH"'WV1{Sbaa<^)s\JvutsU11S.my>+*Las%7c5a`Y10{Uyw+*PUaS_$#m11jjJI++S(
'PsAqLK~}}{32U0SAu2+0N_L&+[)(EE2C0A@aa<Nt99JZuG42200AmP++*has8qG#E~_1|/hxS+;)saSqK#O10Y/WC++*R
QaaA_#KJ~;|j210vAts+*N;L9+IHi4&%1BSy~P+;;sxJpu5W2100Azy>Mc;'sI7pEaZY10Vy-=RvP9a&Ro]2100|WgyA)(
ua<N@?8~mY{3y1xS.@s>rN_K&+HZYE3g1eSRa`+u;s9JYu54V11RAgy++)bas8Hpo[~21j?zx<w;ussqLQ43110E--HAe?
(tsAMpo\~;49z705A-P10/L-&mHHjEECC0Ac>avuzs\7%6Wsrk0SA-POw*K(s_G]ba3C10/UZ<v*V8aM6^#211jE-gUAe(
uas_@p!nZ|:j21xS.us+a`;KK+l)GXgV1#S@aa+{Ms8ZIHWsr110QPl++LK's%%##E`l1A{?=S+v99a7%4Pm100iWV++w)
uaaA#pK~IHkjVV0B.QQ+0M_oJ+lZjE&CC0Aba=+NtsKwpuXsr110h@l++c(gs8qG5a~C10/.-SwQPOaM_5#mN00j--HA*v
'aa$@""7~YY9Vx0SS-sr0N;-n%7j"i&Ve0Ab-P=uMsK86544r10BA--ew*ba&%G$EaC~10?.>x+uuUaSLpPIm00EWh++S(
(=sA#Lo[<HXj8V0SAtt+0M_L9+Hjjhh}|0Acaa+uMs976$nsr10SA@?++Lb'sI7#\a`}10?>-ww;9UaM_4]m200j{VHA*(
'a<AqLo\Z|{3E10B.Q?>a/pn&+lH"ihV10SRQP+_)sx8Z6ns3200APO++chJsI$p#[`2|0Vzg<v;V(a&%^J2200E--HA*?
u's`$?\7~lk3z10SS-Q10Np-mlkkGE32e0A?>P_;zs\76X53r100A-lxMi)aIIH]oaZB10@zx<RW98a`_^JI11jX--UA)?
caaA$9o=}5YzV16w.32+aM_nm+I#ii~21eARaa+_MsxqY54sl11SAQl++)uJs&G6\aC21A{Uxx+QPOa&_Q3n100ihg++wE
'aaAM?K~};{3V10S.@s>0/pKmm$)Y'WVe0S@>a+*zs'7p5W"211oA@y++MLa9rq#5a~21AVyxY+*t9aM6K#n11/iiI++@v
(aaA$9\~Z|G9210BAu2+a/;oK+[Z"EE210Sy?`<*MsxZv$ts2U00AQy++i;ts8qp"aC_B0zyZw+*ctar54JOm00/{z+A)v
>aaA_?8~6l{XE1TSS-s10q;K]8*#Gi3g1#Ayx}<^ts9875Wm!100.gPOw*ua'%7$#[m~10@?-=;:98a6p^]"100|igHA)v
ua<_q?8\~|432y0SSQs+a`Ln9+k#jig}10S?ba+*)yK87H#W2200Aml++cLgs87p#n`_k0z.ZS+WcsaS5p4mH00XiV+A*E
caaAqLKJ6Z|j8x0S.-s1rp(-nmlGYX~210Sc-aO{)s'&YY44211|.--O=i(a`&%c5a~21A@U-wRv98aSppJI100i--Hxwv
u=sN@p8~}5XW210SA-s10)_-&I76YE~21TA@-avu)s'&vu5sU100.Pl++vb's&$#EamY10z?=S+ut8a&L$3O100/iV++*E
uaaA$#"\I;Y32U0vAt2+0)pKJ+kkjE~2C0A@aa+N)s'q%Y4s2200/@y++MKts&Gc"aZ2B0@?=S+*Vtaq%K#2200.hIHA@R
>PsNq"o=ZH|WEV0SStt+0q(Kn+Hj5XWg10A@b=+_Ms9q76t4E100Aml+wLKa&eq$\[mY^0z?Z<;v)Ua6LQoIH00E--gAe(
b=s%@#KJIlYWyU0SS-Qb0/o-KmH)"EhV|0Ab>`ON)sr7ZuGmrk00A-lOjMba9&H]EamYB0/U=<;;PUaS654\N00K-gBT)E
(ts;M?8J}ZG9EU0S.Rc+0qpKm+l)iXE%|0Ay~P+*)s9wpo#VUU00Am?++<)aI&$coa`_}0z>gx+QtbaMpK4\m00EiI++w(
uaa;_LK\m54WV70SSus+0p(nK+I#j'h}$0A@x`+{tsr8p$XWlT00AQP+MMhasr%poE`_B0i.TS<*c9'SLQo210}|WVyAwR
>bsAqp87<ZGXi105AR21aN(^9%$#"!&g1#Abaa_u:s987$ts211SAPO>ji;tsH^c#a~21Ai?Z<R*Vta&%^#n11kXWIHA*R
>=s;$p>=<lYz21wSSu21a)M^&JI6Y4E21{SRaa<^zs877Hns3100hP?>j<b's&HG\a~_10i>yS<W)Ua7%KPn100iJVUAev
>aa;qp>=<5{zy10SSts1app^KJ$GG!~V1TSyaav_:y8&6oWVE110A@P>*<;asI^#onZCk0zh>S<Wu9NSq^J\100ihCHA*E
bPsAqp>7<5GW870BA321aM(^&JIGjX~210Ayaa`<;\8J%Y4V2200APP>N<bas_HG\"CYk0/>>S<Qc(8S6^om!00KWVUA@(
bPsA:9>=<;|zVh0TAtsP0)pK&lk)GX&CC0S?>><<;sx&Zo5mE~00Aml>M<)gsH%65a`_B0/z><;;VUaS5^4O!0k|{ggT*c
uts$:L>=<lGX810SAts>0<pKKlI)G'W2|0Ayaa<<^9'8Yo#VlT00Aml>N)hts&Gc"4`~k0z>TS<*c9rS_^o"110XWzUA)c
>=sA@p>\<H4z21xwARs10`o^&JlZG!E2$0S@xP`_:s9qYYGW2q00Agl>w<;JsH^G"aZ_X0?>><<WV8arp$oI10}j{IHA@E
'as;#?>=<;{9210SS3Q1a`p^&m*ZG'E}1eSyaa<^)s\Z6HtsU11SAg?>*<h'se^pEaCB1|/?>x;vu9aMqKJm11}EWggTe)
('ONq9!J~;:{V1w5RuQ1rqM^9Il)GXgV1Bz@?><;^(Kq6$tVl110Q@O>w<((J8H$E432^0{U><;vcUTrq^4210L|{Vg**)
>t<N#L>=<YGW210/vQQP0qp^9%HHiX~%U0@c?><^t9rZZ6t"210iQPPxwcK'Ir$po!~B1@/y=xv:)(7q6^4211}iiVg*wR
>t<`$^>=<l{921T54@?1N`;^mm$#jEg2eBzy>><<)\xZpotm22CRnQy>j<u('_^cb"~2XW/zT=<u)b7q5^J22ZYjigHe@E
>C`rqp!=IZ:{2Uwv4u21OMo'JJIjG'~g1ecy?><^)y9qvXX4V1C|/gy>*<bKI&Hc\"`21@V>><<vtb'&q^o"1lYXWIge@v
>b<$^#>7<YXW21UvR@c1*)_^m%k6j!g}1{"y~w|u:9'qI$nW211/hPlk*))t`%^6E"Z21|?>><<vcO77%QPO1~/XhzyT*v
>=<%M9>J<;|z21TTvuc1q<oomlI6jXW2UBcy>``^)\\qZ5#422joRml>M<;'&&^po!~2XWzhgwX:V(N6L^n22M}XJIUx*?
>t<_#9>\<}X9276wRR21N/o^J\H#i4&21BcbQ><^tL'Z7$nmE1T/RgO>N<)(&r7$#nZ21{Vy><euu9r7L^J"1MjiWzgGw?
>t<;^p!=I|{z21w5v@t1NpL'&lI)jhE21{cc~}=*M9\J6X5Wr11BRgOxj*hK9%%G54C21|/?ZweQV98rp5n\11jKJVHx)E
b=BNq#8n6Z{921U/u@t1N`_o9JlZjiE2|{"cbw=_z(\ZZYWW22T/hmlk=c)K`r7Go"Z2k@iUxww*u9T&pK422ZL/ihgewE
u'O$$?o=m|{z276Beu21*MLo&J7j"4W21e"b~=v*)98Jv64ml11R{mOx=c;(`HGc#4m21j{z=wwu9t86654\1M}jWggGwc
(C%`M""7IY|921xBRRQ1*/oLnm*GGXh21ecyQ`=_z(K8%oX"U1C/R@lOMcut&IGGo4C21W??xYe;9t865QPm1GjEihg*)(
'CB%@pK7I54{21TBuQ?1NM_'m%k#Y4&21#z??``N;y\J%H#WE1C|hmlxMi(J9I%$bEZ2|W{hgwvu)98M5QJ22Z/EJhgT*E
Qb`%@#K=}}X{2VT/4R2PN`oLmlIZY'W2C{@?~`|utLrqp64V221/{mlNNvL(9I$6#"mC1{V?Z=vvt9Tqqpn211/KhgyTw)
bPO;_L"n6l|zE1xTett1N`oo9lHHY4hV1ecc?P`_;(rJp65"211oQmPkjiu'&eHG""C21|\y=xRucU'r%Qom1Zj|ihy*w?
QPB$@#8~I5G{21wwvQP1NMonKIH)GXh2$#/yx=v{)9x&vuGV22j|{@lOj*(J'e%6\"Z2|@\?TY;Wcbrrpp422MjEWhyx*E
Q&`rM?"=I5YX2xU/v@21=NoLK\7)"4~21#@??=|_ty87%H54U1TRQ@yN**)gJ&H#EnZ21W?zT=;*P(N&54oO1~Y|hIye@E
Q'B`#L\=~Y{W216vu@Q1qNLLJ8IZ"E&C1B"??}=u)y9J7YW4211R{mPN*ib(I_H$54Z21WVygY;*utNMp$n\1MkihVgT@R
cb%%q"K=IZ{{21xBRR?1qN(o&IIZY4&21T"R~=vN)\KqZ5XmV1CBR@Ok**LKIe7$b"Z2}|/UyYRWcb'&5Q422~Ljhggewv
c&&r$LKnI}4W2hCw4t2bqMpom%7#iih2$e/R?P=_;(9wv64V221BQQPxw)h'98Gc"4Z~1|{?ywe;)9NrR4#211kK{gHe@R
'C%rM#oJ6YYXV1g/RR21r)pLm8kH('gV1Tz@Q`|ut(r86Y#4U1}/nP?kNvbtJrG6EEZ21W?UTxw*9b'M%$4\1ljEhhgT*v
't`;_L\\mHY921wBvut1=/pKmJlj5EE21e"b~}__t99Jpun"l1jo/zPk=chJ'_H#5EC2X@{hxxR*c9T&%po22Z}KiVB**c
b&&_$98~IY|W2xU/4R2b*poLJ%7kYh&2eB/bQw|*M98ZY6nm221/RmykN)hK`eq#5ECB1{/yTww;)O'M5pP\1~j/JIBe)(
bP%_qpo=~5|X21gwu@P1=`;n&8$j"i&21#"Rx}_;)(K86un4r11|Rmyx=)KK9%7$b4Z21{zUTYwQ99r7pK#"1MY/iIUe*v
uP`$MLo=}l{j216veR?1Npon9J*)iiE21{/@bP|NM\K&voW4E1j|h@?NNc)t'&$G"4Z2kWiUxY;;ctr6qQ422MLiizyG@(
c=ON$9"\m}4W27xvv@2rq/pLK8kGY'g2Be"bbw`;)9xqpX5m221inzOxNvu(&_7#"E`21|zyxwvvt88r%KJ"1MY/{zU*e(
u'&N#L\7m}{W21CwuuQ1rqL'nllZj4EV1ezcQ`|*My97%$GWl1pinzlO**(''r$p#"m21j?UTYwvV87`_KnI1G/iJCUT@?
QtOr_?\76Z{W21UwuuP1rp;nJJ*G5'E21B/b?=|_;(rw75WWr1C|/g?kwvLJ9&$po"m21@?hyxX*9(7rpp4m1~kihCyGe)
('B_#L\=Z}YX21w5v3Pr*pooK%kZG'hCee"cx}O{tyKJvXnWVT}/RzOx=cht'e%c#n~CBjzUy=evP8T7qQn\l~k/JzH*@R
c&ON@?\~IY|W8hUweQP
Можете прогнать его в дебаггере и убедиться, что это действительно рабочий код, который по-прежнему выводит Malbolge program
.
Этот же исходник в нормализованном представлении:
ooooooi/iojpo*pivojji/ijvvoipooooo/ji*p<o/oo/iojo/oo/o/joijpo/oopop<p<*p*o*<*ppo**p<pp*<oppoo*
p<*p<*ppp<*ppp<opp<*p<pp<pp<o*<*op<**p<*op<*p<*p<pp<*poo<vp/viijpo/o/*<*ji/v*ivv<pji*j/ip<*j*p
ji/ovpj/j/vjjpvovj*p/ivp*oii**jivi/ij*v*/p*i<ovopi<o/*jj*/j*vo*<voiv/jviii/j</vj/ijo**j<vi*j/j
ji/*/opoi*<i/ppi<oopo<<<*o*jvi/v<v<jj/vi/p/o<</ioii*//vi<<op<ii/*ovv/j/<p</iijv/oiiv*jv//<*jpv
pi<oo/ppv<*j<pii<p*o/p/i//i<po//vp/**ji*vpj/oooo*i<jiov/<<jpvi/o/oop//<p<i//povov//i*ji<oo*jv*
*v/o/vv**j*ppipivjopo</<po/ooi<v<v<<*ji/pi</jo/<i<i</oji<<opv/vj<jio/</vip/j/ivo<p/o**vjvp*jjv
vi<o<jvvjoj/ppp*v**pp<v<vo<<*voov</po/vi<po/po<jiii</vv/*p/ivj/v*opp//pi/jp<pjv/oiv***j/vi/p**
/ipvoop*/i*p*pjipv*vj</ipoi//ivjvj//**vp<p</*o<<ji<*/pvi<ippv/jvvpi//v*<i*<j<i<ipojj*jjp*jop<p
j//ov//<jopojopovpioooiopji<ji<i<v<jijppopjiv<*oopij/ijjv<*<vp*poo/j///po*i/o*vpjv/**jip*ivp<*
/i/io/*/i*o/ppjipj*p//vi<ojo</*/vo/<*jvo/pi*//*ooi<<**oi<**ivi<i<jov/j<j*p/<*jvj/*oi**jivv*j/j
/i<o*/v*vv//i<pvpi<poi/jioj/jioi<v<**iv/pp/opojooi<<p/oi<piov/vj/oij/////p<pppvpvj/io*j<*jopj/
*i<*o*jpji<oi*pi<p**o<vojpv*pjo/*v<*v/<p/p/<iii<oii//i<pv<ppii*<*o*<//*/j</i<ovop<op<*jpv<*jv*
jp/o*v/iovi/o<piv*jpoi/<voi*j*jppv<j*jvp/p<iivpooiij///i<*pivj/ipooi//**/i<j*ovpv*vij*j</vopj*
*ipo/v/<i**pvppvpivv/oj*poj<pjj/vv////vjvpo<j<po<<i</**i<po*vjiv<po/i/p<v*ijo/v//vp*j*jp*jopjp
/j/<joipj//pjppi<p<oo<jo***j<ivv*v<ii/*iopjii*<ioii</iov*o<p*jjpvop*//j<i*po**vvvvpp*jiv*jvp*p
<i<ojp/o*p<*ipojpoop/i/**o<p*jpvvj</*jvj/pop*iiopi<j/joi<iv*v<*/po*//j<pi</pppv/vo*<**jiii*j/o
*i<ovov**o*pippipv*vooji*jpo/o//*v/<ijvvopvipi*vii<o//vi<jjp/vvi/oi//jpiio//ijvpjp/<*j*i<o*jp/
ji<ojpi*i*vopppvvjop/ovj<o//pi<vvv/p<*iv/po*ovooiji</jvi<o/vv/vvio*oj/iioi//v<v<**po<*jj//*p*/
pi<o<op*p/*<vpii<p*oojvi/vop<jvjvo<ppoi*pp<<<i*pvii<ipjjv<vp<i/<<pv<//jj/j****v*ivv/**j/<iop*/
/ipi/op<j*pppjpi<i*p//i*vo*pjj*pvv/ijjvvvo/<</vji<i</ooi<pjov//v<voov/i/op/ovivo*<jip*jv<v*pjo
<i<o/vvvp<j/o*pipp*oj*pojjji//pvvv/jvj/ovpvv*ji<ii<vii<j/oipp<<o/oi//jjp/ip<**voi<pp**ji*jo///
/p/vo/p**piipppivp*oop/opivv/ipvv/<<vjppvpvvoo<o*ii<i*oi<vpiv<ii*ovp//ij*p/ii*v/p/*o**jj<v*jjo
/i<ojjj<vo<ppip*v*opopjiio*jjipv<v<<*jv/vpvpvjioi<i<</vi<j*vv<*oiop/j/jj*p//o<vi/p/*j*j*iooppv
pv/v/*/oivjiv<pi<*jpojpijoi*v//jvv<<jivj/p<p<<o</ii</ooiv**piov<ppvpo/ijo**</ov*po<pp*jp*j<p<*
ip/jojvvv/<i*ipi<p</oo*o<jiopij/pv<*i*//vppijo/popi</iojojpp/<jp*ovpj//p***jpovojjjvo*jo*ipv*o
j//pvopv*<vovipip</pojji*ojo*/<opv<po/vvvp<oppv**ji</o/i</<p*<iovooo</i*v</pivvpipjv<*jp<o*j/*
/i<p<vv</ppiiopi<j*po*p*<o<pjojpov<<p*voppp<pvjjp*i</jji*jopvv<vvjooj/v/ppj/vj/opo<***//vv/p/v
p</o//ppo<v</ppov<oo/<p/vpppppojvo<**j*pip<<<vooii<j/**/oo/vv*po<oi//jvjo*p/o<v//v/<*j<vvoopjv
pp/pj/ooo/<*pp*i<joo/p</p<<v/v<vvp//*ji*opii</po<ii<p*//o/piv<jjpoio//v*<pjo/ovj/po<**jiovvp</
pi<p//ooop***ppi<**o/*j/<<pi<pp/v//p*jpjioivip**/i<<//j/i//pvjpivvpjv/ivjpjo<jpo<vpv**jiipopjo
iv/o//opopvioopvvooo/ip/p<<ij/pvvv<p*jj<<*i/vji*i<i</*j/j/ppvpjjp<*pv//*jpjpv/jojv<i/*jovvvpp*
iv/oppooooj*i/p<v**<opjip**o</oi<v/ii<i<<povjp<p/vi</oo/*/<ov*<//oooj//<j**joovo*vjo/*<//i<vji
///*pvooo/v<oppiv**vovji<*<o<o/vpv<p*ji<jiv<*pv*p*i</oo/jiovv<*oi/o<v/i*ppj/vjiovv</*jjvv/vp*i
pp/oo/o<ovp*ppjjv<*oo/*/p<j/<p<vov/<p/jjip<p*j/jioi</po/v//*v*pjiopop/**j*joo*v<i/<p**/</ooppo
*i/p*ooooo*opppi<o<o//j/pjo/<o<pvj/p*ji*vpj*i/oo*i<j/p//i/oivopv*o**/</jj<*<<jvp<ppi*j/pvi<v<j
jjvv/p*vjoojip*oij<ojj</vijo</*/v<p<<<iijv/pivo*pi<<*/*/v/i<j/j<*///o/<pj**<voo<<vj***o//v<*jj
p/pv*voooivippppji<<ojj/vpi<*/po/vij<<i*pip*j<oviiip**jvvp*i*vivvii*/*/i*<i*//*ijvj**j/i<v<*/v
p/p<j<ooo/*oppioovvoi/v/*jppji*v*<ppi<i<v*o*ppopi</*ojv/o/v<<ppoo<i/pp/<pjji/v*i*vp*jvv<<ioipo
poi///*ov<ojpi**ojoo<i*pi<<*<opjvj*p<<i*vo<po*j<ji/v<pv/i/pj*<jop<o//*p*j*j<iv//<v</*<vvvo<ip/
p<p*ijopoiiipp<*iv/opp//*p*vjp*pvpopopopiivp/vpjii<ip*ooii<vpip/*<p//<**j*j<vp*j/ooo*/*vi//vj/
pppjvpovooj*ppi<jj/o*v*j**<vj//v/<*pi*j*v*jpjiv<i<pojoo/*//ii<pvvii/ppivvio*o/p*pvi*jo/voov/jp
p/pi*po<ojiopooji<ooio*/i/ip*vovv<**/<i*p/v*<vpp/ijijp*/j/<<iv/<<vp//ipij*vi<jijpvp/*oiiv/<o/p
p/ppi/*ov***pp*ojvjoi*ipp*<oj*<vvp*joo<v/ij/i*<joi</jp*vo<oj/i<j//*//</joivpojj<ijiv*jioovo/*o
ipov/jp/p<*opp<p*vjoi//jv<j/jj<vppojjp<jovj*jj*ji<jipooo/p<jpv/jv<p/v*vpii</<jo/ipj*jvoj<<<i/o
/jv*jo/o/***poov/joopiijp<v*pv/vvjo*oipvvii/o<ippi<*vo*v/p/<p**o</v//v<<*i<i*<j*jjjv*o/<vi<o/i
jo*<v*jpvijoppjvi<<opo*<jjoi</jvvj*p/*<jov/<vpjv*i/ij/oj*pvvij*jv/*//p*jiovj*<j**ooi*pip<<<***
*oojo/vpvppjppiv*ivoii/p*p*p/vovvopi<*j/<oj/v/vj/i/vpoov*oi*/j<<ojp/ip<vviii/jjp*op*jv*po<<vjo
v<ijojvo*jijp<ipo<o<i/*<**<//o/v<piio*opp/ppp<i*i<<ivoo*jvj</ji/<<vj/ipjoji<ijoi<<i**j*oii/v/j
ivvp<vj/p/j*vpj</*joi/*jv*i</vj/vj*j</jj<vp/p<<vii<o*ojoooviiojji<*//<oi*<pivo/</o<i*vi/<</*/p
vvo*ojp*vpvjpp*jjiioii**<iio</jvoovppipoviovoo/*i<pvv/ojo<i*<o</p<p/i*ojpo*ovvi<i<j*joipv<//jo
v*i/vojovp<<p*<pjvoov<*<</vopvpvvoii<iojpoiiv/<<*ij**/v*i<<oj<ji*vp//p*<pj*/p/p/**<o*/v/io/ipo
vjo<*vioji*ippo**v<o*<i<iv</pioiv<oi<o<pvo</<j*<ii<*voj*iop<*pj<//p//ppivo*/<<ppi/iv*o<iiv<vpv
<<*j/*vov<*jppjvi<vo*<pjpi<//vovv/o/oip/v*/pjijpji//j/*oi<jj*o/<o<p/<</p<opovv//*oj*j/o<ii<i//
<*j/jvv/vjpip/vjo*o/*ijj*pvp*jjvojv/</<j<v<oo<i*i<</*jjvvioi//*oi/p</<<j<ivj/jp<o*/**j<o/ioipv
*o*/vj/vpi<<ip/pi<oojpj<*v*<oo*/v/p</*oppvp<ijv<*ivio*/ojvpvjv*/*jp//p*pp<</*v/p//jv*<ipi<<vj/
*/ip<vi</v<opp*vjjjovoji*<j*vi<vvjo*oo*jpi</popvpipo<vjo/po*<pji/j*/p*<vi<p/vjo//<<*jv/o<vp*ji
i*jijpp*vijip*<po<o/p**<ipvj/*ov*<v*/pov/ii**<ppi<<ijovojiojpovi/j**/i/ipi<j/p/p*<ov*/ijoopi**
iv*i///ojpj<pp/j*viov/v*pvp*pjovvoo/po*ivv/<iop<oi<vjovv/i*j/i/<o/p//iippo<p*jijip//*ovj<ovij/
/vi*vv/o*/*/ppo*/<voi***v<oo*j<vvpv<j/o//*/vop*</ipvp//*jp<v<<iji/p/vpvpio*jv<i*<oj*jooi<//op*
<pvvjpj</jpipoj*jvo**oj<<v*i/o*vijo*jpjiviopp*<pi<<pov*vjvv<ip/iijo//<iiiii<i*j</pp/*ovj//v*<*
/jjv*vip/j*ippvj*j<ojjipj*j/jv</vjpj/*ov/o<ivv/jpiopovoji<ii<viv<<v//v*ppo<<o**vvpip*p*iopvvpp
v/v/<oipp<*ipp<j*jioj*v*i<oivo<vv<v*<ioj<vpo<i*joi/v<p/ovvj*/<ivv<v//**v<<o/*/*<i<ji*/<iip/o<j
jjoi*vioij<<pp*ojoi*p**j<p*/<oji*jojpo/opo//o*pjj*vijv*v/pov<o<o<vijjvip<jv<p*oj<oivi/<jo/o*pv
<*vvooi*vijio/<j/ii
Осталось объединить полученный результат с Whitespace (прелесть в том, что Malbolge игнорирует любые пробельные символы, поэтому код останется корректным с его точки зрения). При добавлении кода на Whitespace я считал Tab за один символ, что логично, но приводит к тому, что в разных редакторах и браузерах код выглядит неодинаково. Кроме того, ширина исходника была изменена с 94 на 80 - стандартную ширину консоли. Ширина в 94 символа удобна при разработке, но выглядит не очень - в первую очередь потому, что сразу бросается в глаза паттерн повторения. Так что формируем из кода Whitespace смайл X-P
и надпись ESOTERIC POLYGLOT
, укладываясь в 80 символов по ширине:
DCB A@?\nZ;|38x0SA3tsN`Lo98*G"'&%$#Sc>`v<zLxwI5tWrDpoAm?Oj)Laf8dc\aZ~X|? U=Y;v
9ON S54JnHG/jJCBGF(>b%;_"876Z{321U5.-Qr*N('K%$H(hEf${Abaw=^zs9Zp6Wm3kj0Q glk+v
b:s%$G\a3_1@{> >w+d9sa`qK4m11}iDh++)?(asAM9"n~lG{z1C5Aus +aM;'m+HGihhC1A
S?b`+^Ms[77u#sl11 oAPPOM<LJseG$oa~l1Aiyxw+;u(a7%o4O10 0jWg++w)(as$q?8=Z|
YWi10SS32+0NMLm+kk5E W2C0AcbP+;MsKw76G3r10RA@y++*h a'%$6Eaml1A/zTx+ut9a&
Ron\11Y|{h++@R>aaA@p87I Z{{W1TSS-s1a)_K]\HH"'WV 1{Sbaa<^)s\JvutsU11S.my>
+*Las%7c5a`Y10{Uyw+*PUaS_$ #m11jjJI++S('PsAq LK~}}{32U0SAu2+0N_L&+[)(EE2
C0A@aa<Nt99JZuG42200AmP++*has 8qG#E~_1|/h xS+;)saSqK#O10Y/WC++*RQaaA_#KJ
~;|j210vAts+*N;L9+IHi4&%1BSy~P+ ;;sxJpu 5W2100Azy>Mc;'sI7pEaZY10Vy-=RvP9
a&Ro]2100|WgyA)(ua<N@?8~mY{3y1xS. @s> rN_K&+HZYE3g1eSRa`+u;s9JYu54V11RAg
y++)bas8Hpo[~21j?zx<w;ussqLQ43110E --HAe?(tsAMpo\~;49z705A-P10/L-&mHHjE
ECC0Ac>avuzs\7%6Wsrk0SA-POw*K(s_G] ba3C10/UZ<v*V8aM6^#211jE-gUAe(uas_@p
!nZ|:j21xS.us+a`;KK+l)GXgV1#S@aa+ {Ms 8ZIHWsr110QPl++LK's%%##E`l1A{?=S+v
99a7%4Pm100iWV++w)uaaA#pK~IHkjV V0B.QQ+ 0M_oJ+lZjE&CC0Aba=+NtsKwpuXsr110
h@l++c(gs8qG5a~C10/.-SwQPOaM_ 5#mN00j--HA *v'aa$@""7~YY9Vx0SS-sr0N;-n%7j
"i&Ve0Ab-P=uMsK86544r10BA- -ew*ba&%G$EaC~10? .>x+uuUaSLpPIm00EWh++S((=sA
#Lo[<HXj8V0SAtt+0M_L9+H jjhh}|0Acaa+uMs976$nsr1 0SA@?++Lb'sI7#\a`}10?>-w
w;9UaM_4]m200j{VHA*( 'a<AqLo\Z|{3E10B.Q?>a/pn&+lH" ihV10SRQP+_)sx8Z6ns32
00APO++chJsI$p#[` 2|0Vzg<v;V(a&%^J2200E--HA*?u's`$?\7 ~lk3z10SS-Q10Np-ml
kkGE32e0A?>P_; zs\76X53r100A-lxMi)aIIH]oaZB10@zx<RW98a`_ ^JI11jX--UA)?ca
aA$9o=}5YzV16w.32+aM_nm+I#ii~21eARaa+_M sxqY54sl11SAQl++)uJs&G6\aC21A{Uxx+QPOa&_
Q3n100ihg++wE'aaAM?K~};{3V10S.@s>0/pKm m$)Y'WVe0S@>a+*zs'7p5W"211oA@y++MLa9rq#
5a~21AVyxY+*t9aM6K#n11/iiI++@v(aaA$9\~ Z|G9210BAu2+a/;oK+[Z"EE210Sy?`<*MsxZv$t
s2U00AQy++i;ts8qp"aC_B0zyZw+*ctar54JOm 00/{z+A)v>aaA_?8~6l{XE1TSS-s10q;K]8*#Gi
3g1#Ayx}<^ts9875Wm!100.gPOw*ua'%7$#[m~ 10@?-=;:98a6p^]"100|igHA)vua<_q?8\~|432
y0SSQs+a`Ln9+k#jig}10S?ba+*)yK87H#W220 0Aml++cLgs87p#n`_k0z.ZS+WcsaS5p4mH00XiV
+A*EcaaAqLKJ6Z|j8x0S.-s1rp(-nmlGYX~210 Sc-aO{)s'&YY44211|.--O=i(a`&%c5a~21A@U-
wRv98aSppJI100i--Hxwvu=sN@p8~}5XW210SA -s10)_-&I76YE~21TA@-avu)s'&vu5sU100.Pl+
+vb's&$#EamY10z?=S+ut8a&L$3O100/iV++*E uaaA$#"\I;Y32U0vAt2+0)pKJ+kkjE~2C0A@aa+
N)s'q%Y4s2200/@y++MKts&Gc"aZ2B0@?=S+*V taq%K#2200.hIHA@R>PsNq"o=ZH|WEV0SStt+0q
(Kn+Hj5XWg10A@b=+_Ms9q76t4E100Aml+wLKa &eq$\[mY^0z?Z<;v)Ua6LQoIH00E--gAe(b=s%@
#KJIlYWyU0SS-Qb0/o-KmH)"EhV|0Ab>`ON)sr 7ZuGmrk00A-lOjMba9&H]EamYB0/U=<;;PUaS65
4\N00K-gBT)E(ts;M?8J}ZG9EU0S.Rc+0qpKm+ l)iXE%|0Ay~P+*)s9wpo#VUU00Am?++<)aI&$co
a`_}0z>gx+QtbaMpK4\m00EiI++w(uaa;_LK\m 54WV70SSus+0p(nK+I#j'h}$0A@x`+{tsr8p$XW
lT00AQP+MMhasr%poE`_B0i.TS<*c9'SLQo210 }|WVyAwR>bsAqp87<ZGXi105AR21aN(^9%$#"!&
g1#Abaa_u:s987$ts211SAPO>ji;tsH^c#a~21 Ai?Z<R*Vta&%^#n11kXWIHA*R>=s;$p>=<lYz21
wSSu21a)M^&JI6Y4E21{SRaa<^zs877Hns3100 hP?>j<b's&HG\a~_10i>yS<W)Ua7%KPn100iJVU
Aev>aa;qp>=<5{zy10SSts1app^KJ$GG!~V1TS yaav_:y8&6oWVE110A@P>*<;asI^#onZCk0zh>S
<Wu9NSq^J\100ihCHA*EbPsAqp>7<5GW870BA3 2 1aM(^&JIGjX~210Ayaa`<;\8J%Y4V2200APP>N<
bas_HG\"CYk0/>>S<Qc(8S6^om!00KWVUA@(bPsA:9>=<;|zVh0TAtsP0)pK&lk)GX&CC0S?>><<;sx&
Zo5mE~00Aml>M<)gsH%65a`_B0/z><;;VUaS5^4O!0k|{ggT*cuts$:L>=<lGX810SAts>0<pKKlI)G'
W2|0Ayaa<<^9'8Yo#VlT00Aml>N)hts&Gc"4`~k0z>TS<*c9rS_^o"110XWzUA)c>=sA@p>\<H4z21xw
ARs10`o^&JlZG! E2$0S@xP`_:s9qY
YGW2q00Agl>w<; JsH^G"aZ_X0?>><
<WV8arp$oI10}j{IHA@E'as;#?>=<;{9210SS3 Q1a`p^&m*ZG'E}1eSyaa< ^)s\Z6HtsU11SAg
?>*<h'se^pEaCB1|/?>x;vu9aMqKJm11}EWggT e)('ONq9!J~;:{V1w5RuQ 1rqM^9Il)GXgV1B
z@?><;^(Kq6$tVl110Q@O>w<((J8H$E432^0{U ><;vcUTrq^4210L|{Vg** )>t<N#L>=<YGW21
0/vQQP0qp^9%HHiX~%U0@c?><^t9rZZ6t"210i QPPxwcK'Ir$po!~B1@/y= xv:)(7q6^4211}i
iVg*wR>t<`$^>=<l{921T54@?1N`;^mm$#jEg2 eBzy>><<)\xZpotm22CRn Qy>j<u('_^cb"~2
XW/zT=<u)b7q5^J22ZYjigHe@E>C`rqp!=IZ:{ 2Uwv4u21OMo'JJIjG'~g1 ecy?><^)y9qvXX4
V1C|/gy>*<bKI&Hc\"`21@V>><<vtb'&q^o"1l YXWIge@v>b<$^#>7<YXW2 1UvR@c1*)_^m%k6
j!g}1{"y~w|u:9'qI$nW211/hPlk*))t`%^6E" Z21|?>><<vcO77%QPO1~/ XhzyT*v>=<%M9>J
<;|z21TTvuc1q<oomlI6jXW2UBcy>``^)\\qZ5# 422joRml>M<;'&&^po! ~2XWzhgwX:V(N6L^
n22M}XJIUx*?>t<_#9>\<}X9276wRR21N/o^J\H# i4&21BcbQ><^tL' Z7$nmE1T/RgO>N<)(
&r7$#nZ21{Vy><euu9r7L^J"1MjiWzgGw?>t<;^p!= I|{z21w5v@t 1NpL'&lI)jhE21{cc~}
=*M9\J6X5Wr11BRgOxj*hK9%%G54C21|/?ZweQV98rp5n \11jK JVHx)Eb=BNq#8n6Z{921U/
u@t1N`_o9JlZjiE2|{"cbw=_z(\ZZYWW22T/hmlk=c)K`r7G o"Z2k@iUxww*u9T&pK422ZL/i
hgewEu'O$$?o=m|{z276Beu21*MLo&J7j"4W21e"b~=v*)98Jv64ml11R{mOx=c;(`HGc#4m21j{z=ww
u9t86654\1M}jWggGwc(C%`M""7IY|921xBRRQ1*/oLnm*GGXh21ecyQ`=_z(K8%oX"U1C/R@lOMcut&
IGGo4C21W??xYe;9t865QPm1GjEihg*)('CB%@pK7I54{21TBuQ?1NM_'m%k#Y4&21#z??``N;y\J%H#
WE1C|hmlxMi(J9I%$bEZ2|W{hgwvu)98M5QJ22Z/EJhgT*EQb`%@#K=}}X{2VT/4R2PN`oLmlIZY'W2C
{@?~`|utLrqp64V221/{mlNNvL(9I$6#"mC1{V?Z=vvt9Tqqpn211/KhgyTw)bPO;_L"n6l|zE1xTett
1N`oo9lHHY4hV1ecc?P`_;(rJp65"211oQmPkjiu'&eHG""C21|\y=xRucU'r%Qom1Zj|ihy*w?QPB$@
#8~I 5G{2 1wwvQP 1NMo nK IH )GXh 2$#/ yx=v{)
9x&v uGV22j|{ @lOj *( J'e% 6\"Z2 |@\?T Y;Wcbrrp p422 Mj EW hyx* EQ&`
rM?" =I5YX2xU /v@21=No LK\7 )"4~2 1#@?? =|_ty87% H54U 1T RQ @yN**)gJ&H
#EnZ 21W?zT =;*P (N&5 4oO1~ Y|hIy e@EQ 'B`# L\ =~Y{W216vu
@Q1q NLLJ8IZ"E&C1B" ?? }=u) y9J7Y W4211 R{mPN*ib (I_H $5 4Z 21WVygY;*u
tNMp $n\1MkihVgT@Rc b% %q"K =IZ{{ 21xBR R?1qN(o& IIZY 4& 21 T"R~=vN)\K
qZ5X mV1CBR@O k**L KI e7$b "Z2}| /UyYR Wcb'&5Q4 22~L jh gg ewvc &&r$
LKnI }4W2 hCw4t2 bqMpom% 7#iih 2$ e/R? P= _;(9 wv64V2
21BQQPxw)h'98Gc"4Z~1|{?ywe;)9NrR4#211kK{gHe@R'C%rM#oJ6YYXV1g/RR21r)pLm8kH('gV1Tz
@Q`|ut(r86Y#4U1}/nP?kNvbtJrG6EEZ21W?UTxw*9b'M%$4\1ljEhhgT*v't`;_L\\mHY921wBvut1=
/pKmJlj5EE21e"b~}__t99Jpun"l1jo/zPk=chJ'_H#5EC2X@{hxxR*c9T&%po22Z}KiVB**cb&&_$98
~IY |W2xU/ 4R2b *poLJ% 7kYh &2eB /bQw |*M98ZY6 nm22 1/R
myk N)hK `e q#5E CB 1{/yTw w;)O 'M 5pP\ 1~ j/JIBe )(bP %_qpo =~5|X2
1gw u@P1 =` ;n&8 $j "i&21# "Rx} _; )(K86un4 r11|Rm yx=) KK9%7 $b4Z21
{zU TYwQ 99r7 pK #"1MY/i IU e*v uP`$MLo= }l{j21 6veR ?1Npo n9J*)i
iE2 1{/@bP|N M\K& vo W4E1j|h@ ?NNc )t '& $G"4Z2 kWiU xY;;c tr6qQ4
22M LiizyG@( c=ON $9 "\m}4W27x vv@2r q/pL K8 kGY'g2 Be"b bw`;) 9xqpX5
m22 1inzOxNv u(&_ 7# "E`21|zyx wvvt8 8r%K J" 1MY/{z U*e( u'&N# L\7m}{
W21 CwuuQ1rqL' nllZ j4EV1 ezcQ`|* My97 %$GW l1pinzl O**(''
r$p#"m21j?UTYwvV87`_KnI1G/iJCUT@?QtOr_?\76Z{W21UwuuP1rp;nJJ*G5'E21B/b?=|_;(rw75W
Wr1C|/g?kwvLJ9&$po"m21@?hyxX*9(7rpp4m1~kihCyGe)('B_#L\=Z}YX21w5v3Pr*pooK%kZG'hCe
e"cx}O{tyKJvXnWVT}/RzOx=cht'e%c#n~CBjzUy=evP8T7qQn\l~k/JzH*@Rc&ON@?\~IY|W8hUweQP
Как видно, местами окантовка нашего граффити выглядит не очень четкой - причина в символах окантовки, местами они не подходят для этой задачи. Соответственно, в этих местах я вручную заменял символ на другой из 8 возможных. В итоге, вышло следующее:
DCB A@?\nZ;|38x0SA3tsN`Lo98*G"'&%$#Sc>`v<zLxwI5tWrDpoAm?Oj)Laf8dc\aZ~X|? U=Y;v
9ON S54JnHG/jJCBGF(>b%;_"876Z{321U5.-Qr*N('K%$H(hEf${Abaw=^zs9Zp6Wm3kj0Q glk+v
b:s%$G\a3_1@{> >w+d9sa`qK4m11}iDh++)?(asAM9"n~lG{z1C5Aus +aM;'m+HGihhC1A
S?b`+^Ms[77u#sl11 oAPPOM<LJseG$oa~l1Aiyxw+;u(a7%o4O10 0jWg++w)(as$q?8=Z|
YWi10SS32+0NMLm+kk5E W2C0AcbP+;MsKw76G3r10RA@y++ih a9%$6Eaml1A/zTx+ut9a&
Ron\11Y|{h++@R>aaA@p87I Z4XW1TSS-s1a)_K]\HHYXWV 1eSbaa<^)s\JvutsU11S.my>
+*Las%7c5a`Y10{Uyw+*PUaS%$ #m11jjJI++S('PsAq pKJ}}{32U0SAu2+0N_L&+[)(EE2
C0A@aa<Nt99JZuG42200AmP++*has 8qG#E~_1|ih xS+;)saSqK#O10Y/WC++*RQaaA_#KJ
~;|j210vAts+*N;L9+IHi4&%1BSy~P+ NtsxJpu 5W2100Azy>Mc;'sI7pEaZY10Vy-=RvP9
a&Ro]2100|WgyA)(ua<N@?8~mY{3y1xS. @s> rN_K&+HZYE3g1eSRa`+u;s9JYu54V11RAg
y++)bas8Hpo[~21j?zx<w;ussqLQ43110E --HAe?(tsAMpo\~;49z705A-P10/L-&mHHjE
ECC0Ac>avuzs\7%6Wsrk0SA-POw*K(s_G] ba3C10/UZ<v*V8aM6^#211jE-gUAe(uas_@p
!nZ|:j21xS.us+a`;KK+l)GXgV1#S@aa+ NMs 8ZIHWsr110QPl++LK's%%##E`l1A{?=S+v
99a7%4Pm100iWV++w)uaaA#pK~IHkjV U0B.QQ+ 0M_oJ+lZjE&CC0Aba=+NtsKwpuXsr110
h@l++c(gs8qG5a~C10/.-SwQPOaM6 5#mN00j--HA evbaa$@""7~YY9Vx0SS-sr0N;-n%7j
"i&Ve0Ab-P=uMsK86544r10BA- -ew*ba&%G$EaC~10? .>x+uuUaSLpPIm00EWh++S((=sA
#Lo[<HXj8V0SAtt+0M_L9+H jjhh}|0Acaa+uMs976$nsr1 0SA@?++Lb'sI7#\a`}10?>-w
w;9UaM_4]m200j{VHA@c ba<AqLo\Z|{3E10B.Q?>a/pn&+lHG ihV10SRQP+_)sx8Z6ns32
00APO++chJsI$p#[C 2X0Vzg<v;V(a&%^J2200E--HA*?u's`$?on 6lk3z10SS-Q10Np-ml
kkGE32e0A?>P_u zs876X53r100A-lxMi)aIIH]oaZB10@zx<RW98aM5 ^JI11jX--UA)?ca
aA$9o=}5YzV16w.32+aM_nm+I#ii~21eARaa+_M sxqY54sl11SAQl++)uJs&G65aC21A{Uxx+QPOa&_
Q3n100ihg++wE'aaAM?K~};{3V10S.@s>0/pKm m$)Y'WVe0S@>a+*zs'7p5W"211oA@y++MLa9rq#
5a~21AVyxY+*t9aM6K#n11/iiI++@v(aaA$987 Z|G9210BAu2+a/;oK+[Z"EE210Sy?`<*MsxZv$t
s2U00AQy++i;ts8qp"aC_B0zyZw+*ctar54JOm 00/{z+A)v>aaA_?8~6l{XE1TSS-s10q;K]8*#Gi
3g1#Ayx}<^ts9875Wm!100.gPOw*ua'%7$#[ml 10@?-=;:98a6p^]"100|igHA)vua<_q?8\~|432
y0SSQs+a`Ln9+k#jig}10S?ba+*)yK87H#W220 0Aml++cLgs87p#n`_k0z.ZS+WcsaS5p4mH00XiV
+A*EcaaAqLKJ6Z|j8x0S.-s1rp(-nmlGYX~210 Sc-aO{)s'&YY44211|.--O=i(a`&%c5a~21A@U-
wRv98aSppJI100i--Hxwvu=sN@p8~}5XW210SA -s10)_-&I76YE~21TA@-avu)s'&vu5sU100.Pl+
+vb's&$#EamY10z?=S+ut8a&L$3O100/iV++*E uaaA$#"\I;Y32U0vAt2+0)pKJ+kkjE~2C0A@aa+
N)s'q%Y4s2200/@y++MKts&Gc"aZ2B0@?=S+*u taq%K#2200.hIHA@R>PsNq"o=ZH|WEV0SStt+0q
(Kn+Hj5XWg10A@b=+_Ms9q76t4E100Aml+wLKa &eq$\[mY^0z?Z<;v)Ua6LQoIH00E--gAe(b=s%@
#KJIlYWyU0SS-Qb0/o-KmH)"EhV|0Ab>`ON)sr 7ZuGmrk00A-lOjMba9&H]EamYB0/U=<;;PUaS65
4\N00K-gBT)E(ts;M?8J}ZG9EU0S.Rc+0qpKm+ l)iXE%|0Ay~P+*)s9wpo#VUU00Am?++<)aI&$co
a`_}0z>gx+QtbaMpK4\m00EiI++w(uaa;_LK\m 54WV70SSus+0p(nK+I#j'h}$0A@x`+{tsr8p$XW
lT00AQP+MMhasr%poE`_B0i.TS<*c9'SLQo210 YXWVyAwR>bsAqp87<ZGXi105AR21aN(^9%$#"!&
g1#Abaa_u:s987$ts211SAPO>ji;tsH^c#a~21 Ai?Z<R*Vta&%^#n11kXWIHA*R>=s;$p>=<lYz21
wSSu21a)M^&JI6Y4E21{SRaa<^zs877Hns3100 hP?>j<b's&HG\a~_10i>yS<W)Ua7%KPn100iJVU
Aev>aa;qp>=<5{zy10SSts1app^KJ$GG!~V1TS yaav_:y8&6oWVE110A@P>*<;asI^#onZCk0zh>S
<Wu9NSq^J\100ihCHA*EbPsAqp>7<5GW870BA3 2 1aM(^&JIGjX~210Ayaa`<;\8J%Y4V2200APP>N<
bas_HG\"CYk0/>>S<Qc(8S6^om!00KWVUA@(bPsA:9>=<;|zVh0TAtsP0)pK&lk)GX&CC0S?>><<;sx&
Zo5mE~00Aml>M<)gsH%65a`_B0/z><;;VUaS5^4O!0k|{ggT*cuts$:L>=<lGX810SAts>0<pKKlI)G'
W2|0Ayaa<<^9'8Yo#VlT00Aml>Nchts&Gcb4mlk0z>TS<Qc9rSR^on110XWzUAwc>tsA@p>\<H4z21xw
ARs10`o^&JlZG! E2$0S@xP`_:s9qY
YGW2q00Agl>w<; JsH^G"aZ_X0?>><
<WV8arp$oI10}jJIHA@Ebasr#?>7<549210SS3 Q1aqp^&mIZGiEg1eSyaa< ^)s\Z6HtsU11SAg
?>*<h'se^pEaCB1|/?>x;vu9aMqKJm11}EWggT eRQbONq9!J~;:{V1w5RuQ 1rqM^9Il)GXgV1B
z@?><;^(Kq6$tVl110Q@O>w<((J8H$E432^0{U ><;vcUTrq^4210L|{Vgxw R>t<N#L>=<YGW21
0/vQQP0qp^9%HHiX~%U0@c?><^t9rZZ6t"210i QPPxwcK'Ir$po!~B1@/yx xv:)(7q6^4211}i
iVg*wR>t<`$^>=<l{921T54@?1N`;^mm$#jEg2 eBzy>><<)\xZpotm22CRn Qy>j<u('_^cb"~2
XW/zT=<u)b7q5^J22ZYjigHe@E>C`rqp!=IZ:W 2Uwv4u21OMo'JJIjG'~g1 ecy?><^)y9qvXX4
V1C|/gy>*<bKI&Hc\"`21@V>><<vtb'&q^o"1l YXWIge@v>b<$^#>7<YXW2 1UvR@c1*)_^m%k6
j!g}1{"y~w|u:9'qI$nW211/hPlk*))t`%^6E4 Z21|?>><<vcO77%QPO1ZY XhzyT*v>=<%M9>J
<;|z21TTvuc1q<oomlI6jXW2UBcy>``^)\\qZ5# 422joRml>M<;'&&^po! Z2XWzhgwX:V(N6L^
n22M}XJIUx*?>t<_#9>\<}X9276wRR21N/o^J\H# i4&21BcbQ><^tL9 Z7$nmE1T/RgO>N<)(
&r7$#nZ21{Vy><euu9r7L^J"1MjiWzgGw?>t<;^p!n IH4z21w5v@t 1NpL'&lI)jhE21{cc~}
=*M9\J6X5Wr11BRgOxj*hK9%%G54C21|/?ZweQV98rp5n O11jK JVHx)Eb=BNq#8n6Z{921U/
u@t1N`_o9JlZjiE2|{"cbw=_z(\ZZYWW22T/hmlk=c)K`r7G o4Z2k@iUxww*u9T&pK422ZL/i
hgewEu'O$$?o=m|{z276Beu21*MLo&J7j"4W21e"b~=v*)98Jv64ml11R{mOx=c;(`HGc#4m21j{z=ww
u9t86654\1M}jWggGwc(C%`M""7IY|921xBRRQ1*/oLnm*GGXh21ecyQ`=_z(K8%oX"U1C/R@lOMcut&
IGGo4C21W??xYe;9t865QPm1GjEihg*)('CB%@pK7I54{21TBuQ?1NM_'m%k#Y4&21#z??``N;y\J%H#
WE1C|hmlxMi(J9I%$bEZ2|W{hgwvu)98M5QJ22Z/EJhgT*EQb`%@#K=}}X{2VT/4R2PN`oLmlIZY'W2C
{@?~`|utLrqp64V221/{mlNNvL(9I$6#"mC1{V?Z=vvt9Tqqpn211/KhgyTw)bPO;_L"n6l|zE1xTett
1N`oo9lHHY4hV1ecc?POut9rJp65W211oQmPkwiuJ&eHGE4C21Wiy=xRucUTr%Qom1Zj|ihyxw?QPB$@
#8~I 5GX2 1wwvQt 1NMo nK IH GGXh 2$#@ yx=v{)
9x&v uGV22jBR @lOj Mb J&e% 6EEZ2 B@@?g YRWcbrrp p422 Mj EW hyxe EQ&`
rM?8 nI5YX2xU Bv@21rNo LK\7 kj4~2 1#@?Q wOuty87% H54U 1T RQ @yNwMKgJ&H
#EnZ 21W?zT wRuP 9N&5 4oO1Z Y|hIy e@EQ bB$# p8 nZY4W216vu
@Q1q NLLJ8IZjE&C1B@ ?? P=uM y9J7Y W4211 R{mPNNib JIIH $5 4Z 21WVygY;*u
tNMp $n\1MkihVgT@Rc b% %q#K =IZ{j 21xBR R?1qN(o& IIZY 4& 21 B@RQwvN)\K
qZ5X mV1CBR@O kwcL KI e7$b EZ2}W @UyYR Wcb8&5Q4 22Gj jh gg ewvc &&r$
LKnI H4W2 hCw4t2 bqMpomm H#iih 2$ e@R? PO utyx wv64V2
21BQQPxwMhK98Gc#4ZC1@{?yweQt9NrR4#211kK{gHe@RQC%rM#oJ6YYXV1gBRR21rMpLm8kHjigV1Tz
@Q`|ut(r86Y#4U1}/nP?kNvbtJrG6EEZ21W?UTxw*9b'M%$4\1ljEhhgT*v't`;_L\\mHY921wBvut1=
/pKmJlk5EE21e@bbwOut99Jpun4l1joRzPk=chJ9%H#5EC2X@{hxxRuc9T&%po22ZkKiVBeecb&&%$98
~IY GW2xU5 4R2b rpoLJ% 7kYh &2eB @bQw OuM98ZY6 nm22 1oR
myk NMhK &e q#5E CB 1{/yTw w;)O NM 5pPm 1M LXJIBe @RbP %%qpo nI5YX2
1gw u@P1 Nq pn&8 $j 5i&21# @Rxw Ou M9K86un4 r11|Rm yx=M KK9%7 $b4Z21
{zU ZYwQ 99r7 pK #O1MYXi IU ewv uPB$MLoJ ml{j21 6veR ?1Npo n9J*)i
iE2 1Bz@bP|N M\K& vo W4E1j|h@ PNNc Kt 9& $G"4Z2 kWiU xY;;c tr6qQ4
22M LiizyG@R c=ON $9 Knm}4W27x vv@2r qNpn K8 kGY'g2 Be"b bw`;M 9xqpX5
m22 1inzOxNv ut&% 7# EEZ21|zyx wvvt8 8r%K Jm 1MYEWz UxeR u'&N# p\7m}{
W21 CwuuQ1rqpK nllZ j4EV1 ezcQwON My9J %$GW l1pinzl ONMbKJ
r$p#Em21j?UTYwvV87&qKnI1GkiJCUT@?QtOr_?\76ZXW21UwuuP1rp;nJJ*G5iE21B/b?=ONz9rw75W
Wr1C|/g?kwvLJ9&$po"m21@?hyxX*9(7rpp4m1~kihCyGe)('B_#L\=Z}YX21w5v3Pr*pooK%kZG'hCe
e"cx}O{tyKJvXnWVT}/RzOx=cht'e%c#n~CBjzUy=evP8T7qQn\l~k/JzH*@Rc&ON@?\~IY|W8hUweQP
Это и есть окончательный вариант эзотерического полиглота. Вуаля!
Тот же самый код в нормализованном виде:
ooo oooi/iojpo*pivojji/ijvvoipooooo/ji*p<o/oo/iojo/oo/o/joijpo/oopop<p<* p*o*<
*pp o**p<pp*<oppoo*p<*p<*ppp<*ppp<opp<*p<pp<pp<o*<*op<**p<*op<*p<*p<pp<* poo<v
p/viijpo/o/*<* ji/v*ivv<pji*j/ip<*j*pji/ovpj/j/vjjpvovj* p/ivp*oii**jivi
/ij*v*/p*i<ovopi< o/*jj*/j*vo*<voiv/jviii/j</vj/ijo** j<vi*j/jji/*/opoi*
<i/ppi<oopo<<<*o*jvi /v<v<jj/vi/p/o<</ioii*//vi<oo p/ii/*ovv/j/<p</iijv/
oiiv*jv//<*jpvpi<oo/ppv <p<<pii<p*o/p/i//i<//// vj/**ji*vpj/oooo*i<jiov/
<<jpvi/o/oop//<p<i//povo// /i*ji<oo*jv**v/o/ /vv*j*ppipivjopo</<po/ooi<v
<v<<*ji/pi</jo/<i<i</oji<<opv /vj<jio/<vv ip/j/ivo<p/o**vjvp*jjvvi<o<jvv
joj/ppp*v**pp<v<vo<<*voov</po/v /ppo/po <jiii</vv/*p/ivj/v*opp//pi/jp<pj
v/oiv***j/vi/p**/ipvoop*/i*p*pjip v*v j</ipoi//ivjvj//**vp<p</*o<<ji<*/p
vi<ippv/jvvpi//v*<i*<j<i<ipojj*jjp *jop<pj//ov//<jopojopovpioooiopji<ji
<i<v<jijppopjiv<*oopij/ijjv<*<vp*p oo/j///po*i/o*vpjv/**jip*ivp<*/i/io/
*/i*o/ppjipj*p//vi<ojo</*/vo/<*jv //p i*//*ooi<<**oi<**ivi<i<jov/j<j*p/<
*jvj/*oi**jivv*j/j/i<o*/v*vv//i ipvpi<p oi/jioj/jioi<v<**iv/pp/opojooi<<
p/oi<piov/vj/oij/////p<pppvpj j/io*j<*jop </ii<*o*jpji<oi*pi<p**o<vojpv*
pjo/*v<*v/<p/p/<iii<oii//i <pv<ppii*<*o*<//* /j</i<ovop<op<*jpv<*jv*jp/o
*v/iovi/o<piv*jpoi/<voi *j*jppv<j*jvp/p<iivpooi ij///i<*pivj/ipooi//**/i
<j*ovpv*vij*j</voppi iipo/v/<i**pvppvpivv/oj*poj<< jj/vv////vjvpo<j<po<<
i</**i<po*vjiv<p* /p/p<v*ijo/v//vp*j*jp*jopjp/j/<jo// p//pjppi<p<oo<jo**
*j<ivv*v<ii/*p opiii*<ioii</iov*o<p*jjpvop*//j<i*po**vp* vpp*jiv*jvp*p<i
<ojp/o*p<*ipojpoop/i/**o<p*jpvvj</*jvj/ pop*iiopi<j/joi<iv*v<*//o*//j<pi</pppv/v
o*<**jiii*j/o*i<ovov**o*pippipv*vooji* jpo/o//*v/<ijvvopvipi*vii<o//vi<jjp/vvi
/oi//jpiio//ijvpjp/<*j*i<o*jp/ji<ojppp i*vopppvvjop/ovj<o//pi<vvv/p<*iv/po*ovo
oiji</jvi<o/vv/vvio*oj/iioi//v<v<**po< *jj//*p*/pi<o<op*p/*<vpii<p*oojvi/vop<j
vjvo<ppoi*pp<<<i*pvii<ipjjv<vp<i/<<pvv //jj/j****v*ivv/**j/<iop*//ipi/op<j*ppp
jpi<i*p//i*vo*pjj*pvv/ijjvvvo/<</vji<i </ooi<pjov//v<voov/i/op/ovivo*<jip*jv<v
*pjo<i<o/vvvp<j/o*pipp*oj*pojjji//pvvv /jvj/ovpvv*ji<ii<vii<j/oipp<<o/oi//jjp/
ip<**voi<pp**ji*jo////p/vo/p**piipppiv p*oop/opivv/ipvv/<<vjppvpvvoo<o*ii<i*oi
<vpiv<ii*ovp//ij*p/ii*v/p/*o**jj<v*jjo /i<ojjj<vo<ppip*v*opopjiio*jjipv<v<<*jv
/vpvpvjioi<i<</vi<j*vv<*oiop/j/jj*p//< <vi/p/*j*j*iooppvpv/v/*/oivjiv<pi<*jpoj
pijoi*v//jvv<<jivj/p<p<<o</ii</ooiv**p iov<ppvpo/ijo**</ov*po<pp*jp*j<p<*ip/jo
jvvv/<i*ipi<p</oo*o<jiopij/pv<*i*//vpp ijo/popi</iojojpp/<jp*ovpj//p***jpovojj
jvo*jo*ipv*oj//pvopv*<vovipip</pojji*o jo*/<opv<po/vvvp<oppv**ji</o/i</<p*<iov
ooo</i*v</pivvpipjv<*jp<o*j/*/i<p<vv</ ppiiopi<j*po*p*<o<pjojpov<<p*voppp<pvjj
p*i</jji*jopvv<vvjooj/v/ppj/vj/opo<*** vvvv/p/vp</o//ppo<v</ppov<oo/<p/vpppppo
jvo<**j*pip<<<vooii<j/**/oo/vv*po<oi// jvjo*p/o<v//v/<*j<vvoopjvpp/pj/ooo/<*pp
*i<joo/p</p<<v/v<vvp//*ji*opii</po<ii< p*//o/piv<jjpoio//v*<pjo/ovj/po<**jiovv
p</pi<p//ooop***ppi<**o/*j/<<pi<pp/v// p*jpjioivip**/i<<//j/i//pvjpivvpjv/ivjp
jo<jpo<vpv**jiipopjoiv/o//opopvioopvvo o o/ip/p<<ij/pvvv<p*jj<<*i/vji*i<i</*j/j/
ppvpjjp<*pv//*jpjpv/jojv<i/*jovvvpp*iv/oppooooj*i/p<v**<opjip**o</oi<v/ii<i<<pov
jp<p/vi</oo/*/<ov*<//oooj//<j**joovo*vjo/*<//i<vji///*pvooo/v<oppiv**vovji<*<o<o
/vpv<p*ji<jiv<*pv*p*i</oo/jpovv<*oo/vvv/i*ppjpvjioov<<*jjvv/vp/ip//oo/o<ovp*ppjj
v<*oo/*/p<j/<p <vov/<p/jjip<p*
j/jioi</po/v// *v*pjiopop/**j*
joo*v<i/<p**/<oooppoii//*oopoppopppi<o <o/jj/pj</<j<jvj/p*ji *vpj*i/oo*i<j/p
//i/oivopv*o**/</jj<*<<jvp<ppi*j/pvi<v <vv<vv/p*vjoojip*oij< ojj</vijo</*/v<
p<<<iijv/pivo*pi<<*/*/v/i<j/j<*///o/<p j**<voo<<vj***o//v<// vp/pv*voooivipp
ppji<<ojj/vpi<*/po/vij<<i*pip*j<oviiip **jvvp*i*vivvii*/*/ii <i*//*ijvj**j/i
<v<*/vp/p<j<ooo/*oppioovvoi/v/*jppji*v *<ppi<i<v*o*ppopi</*o jv/o/v<<ppoo<i/
pp/<pjji/v*i*vp*jvv<<ioipopoi///*ov<oi pi**ojoo<i*pi<<*<opjv j*p<<i*vo<po*j<
ji/v<pv/i/pj*<jop<o//*p*j*j<iv//<v</*< vvvo<ip/p<p*ijopoiiip p<*iv/opp//*p*v
jp*pvpopopopiivp/vpjii<ip*ooii<vpip/*/ p//<**j*j<vp*j/ooo*vv vi//vj/pppjvpov
ooj*ppi<jj/o*v*j**<vj//v/<*pi*j*v*jpjiv <i<pojoo/*//ii<pvvi p/ppivvio*o/p*pv
i*jo/voov/jpp/pi*po<ojiopooji<ooio*/i/ip *vovv<**/<i*p/< *<vpp/ijijp*/j/<<
iv/<<vp//ipij*vi<jijpvp/*oiiv/<o/pp/ppi/*/ vvp*pp*ojvj oi*ipp*<oj*<vvp*joo
<v/ij/i*<joi</jp*vo<oj/i<j//*//</joivpojj<iji o*jio ovo/*oipov/jp/p<*opp<p
*vjoi//jv<j/jj<vppojjp<jovj*jj*ji<jipooo/p<jpv/j v/p/v*vpii</<jo/ipj*jvoj<
<<i/o/jv*jo/o/***poov/joopiijp<v*pv/vvjo*oipvvii/o<ippi<*vo*v/p/<p**o</v//v<<*i<
i*<j*jjjv*o/<vi<o/ijo*<v*jpvijoppjvi<<opo*<jjoi</jvvj*p/*<jov/<vpjv*i/ij/oj*pvvi
j*jv/*//p*jiovj*<j**ooi*pip<<<****oojo/vpvppjppiv*ivoii/p*p*p/vovvopi<*j/<oj/v/v
j/i/vpoov*oi*/j<<ojp/ip<vviii/jjp*op*jv*po<<vjov<ijojvo*jijp<ipo<o<i/*<**<//o/v<
piio*opp/ppp<i*i<<ivoo*jvj</ji/<<vj/ipjoji<ijoi<<i**j*oii/v/jivvp<vj/p/j*vpj</*j
oi/*jv*i</vj/vj*j<//ppip/p<<jii<o*ojovov*iojj*/*//pvi*<pivoo</o<i*vi/<<///pvvo*o
jp*v pv<p p*jjij oii* *< ii i</j vooi ppipov
iovo o/*i<p/j /ojo jp *io< /*jp/ j*jjv opovvi<i <j*j oi pv <//< ov*i
/vop /vp<<p*< vjvooj<* <</v jjvpv voii/ p/ppoiiv /<<* ij ** /v*vj*oj<j
i*vp //p*<p ipip jp/* *<o*v v/io/ ipov <o** /p /iipippo**
v<o* <i<iv</jioiv<i i< /<p/ o</<j *<ii< *voj*jop **jj </ /p //ppivo*/<
<ppi /iv*o<iiv<vpv< <* j/jv ov<*/ ppjvi <vo*<pjp i<// vo vv <i//pp/v*/
pjij pji//j/* ovpj j* o/<o jp/<p jp<op ovvj/*oj *jpi <i i< i//< *j/j
vv/v vpip /vjo*o /*ijj*j ip*jj vo ji/< // ppoo oo<i*i
<</*jjvvjoj//*o</pj/*<j<ivpijp<o*/**j<o/ioipvvo*/vj/vpi<<ip/vi<oojij<*v*<jj*/v/p
</*oppvp<ijv<*ivio*/ojvpvjv*/*jp//p*pp<</*v/p//jv*<ipi<<vj/*/ip<vi</v<opp*vjjjov
oji*<jjvi<vvji*jp/ppi</pop<pipojvjo/po*/iji/j*/p*<vi<pivjo//<<*jv<o<vpi<ii*jjjpp
*vi vip*<o o<o/ j**<ip vj/* ov*< i*/p /p/ii**< ppi< <oj
ovo jjoj io vi/j ** /i/ipi <j/p pp *<oi *o ovoopi pviv *j/// /vp<<p
p/j *vio ij j*pv p* vjovvo i/pp /p /i/<iop< oi<vjo vv/j *j/i/ <o/p//
iip oo<p *jij ip /o*ovv< ov i// /vo*vv/v //*/pp o*/< voi** *v<oo*
j<v v<p<j/o/ /*/v op *</ipvp/ j*jp *v /< iji/p/ vpvp io*jv <i*<oj
*jo oi<//opv <pvv jp v//jpipoj *jvo* *<j* <v *i/o*v ijo* jpji/ iopp*<
pi< <pov*vjv vvii /i *jp//<iii ii<i* j</p pi *ovpv/ v/<v /jjv* /ip/j*
ipp vj*j<ojjji j*j/ jv</v jpj/p// /o</ vv/j piopovo jjjpjj
viv<jv//v*ppo<<o**/<pip*p<iopvvppv/v/<oipp<iipp<j*jioj*v*i<oivj<vv<v*<i//oipo<i*
joi/v<p/ovvj*/<ivv<v//**v<<o/*/*<i<ji*/<iip/o<jjjoi*vioij<<pp*ojoi*p**j<p*/<oji*
jojpo/opo//o*pjj*vijv*v/pov<o<o<vijjvip<jv<p*oj<oivi/<jo/o*pv<*vvooi*vijio/<j/ii
Можно подвести результат.