forked from mame/quine-relay
-
Notifications
You must be signed in to change notification settings - Fork 0
/
QR.rb
62 lines (62 loc) · 7.63 KB
/
QR.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
eval$s=%q(eval(%w(B=92.chr;g=32.chr;puts(eval(%q(N=10.chr;n=0;e=->s{Q[Q[s,B],?"].K(N,B+?n)};E=->s{'("'+e[s]+'")'};d=->s,t=?"{
s.K(t){t+t}};def~f(s,n)s.K(/.{1,#{n*255}}/m){yield$S=E[$s=$&]}end;Q=->s,t=?${s.K(t){B+$&}};M=->s{"<stdio.h>#{N}!t~mX{puts#{E[
s]};return~0;}"};V=->s,a,z{s.K(/(#{B*4})+/){a+"#{$&.size/2}"+z}};C="Console.Write";$D="program~QR";%(object~QR~extends~App{#{
f(%((display~"#{e[%(#{f(%[echo~-En~"#{Q[e[e["Transcript~show:~'#{d[%(H#{Q[E[%(fun~p~n=Z(Int.toSJ~n`x5e"~");p~0;p~0;p~130;List
.tabulate(127,p);SJ.map(fn~c=>(p(3+ord~c);Z"-1~0~";c))#{E[%(proc~f~{n}~{sJ~repeat~"Y"~$n};puts~a::=`x7e[reK~-all~{.}~"#{V[Q[e
[%(!t~mX{Z#{d[E[%(module~QR;!itial~beg!~#{f(%(Module~QR:Sub~MX:Dim~s,n,i,c~As~Object:n=Chr(10):For~Each~c~!"#{d["<?xml#{O="~v
ersion='1.0'"}?><?xml-#{I="stylesheet"}~type='te xt/xsl' href='QR .xslt'?><xsl:#{I+O}~xmlns:xsl='http://www.w3.org/1999/`x5
8SL/Transform'><xsl:output~method='text '/><# {U=" xsl: template"}~match='/'><`x21[CDATA[#{%(H,format="#{y="";f("^
H{-}{txt}{#{Q[E[%(with~Ada.Text_Io;pr oce d ure~qr~is~beg!~Ada.Text_Io.Put_L!e("#{d[%(Z"#{e[%
W[STRINGz:=~226+~153,a:=z+~16 6,b:= a +"2"+z+~160,c:=b+"8"+z+~165,t:="#{d[%(H('#{Q[e[%(i
mplement~mX=Z)+E[%(BEGIN{s=# {E[ %(f={n~as~!t|'Y'*n};a=0;s=#{V[Q[E["#!clu
de"+M["#!clude<iostream>`n! t ~mX{std::cout<<#{E[%(class~Program{public
~static~void~MX{System.#{C +E[(%((doseq[s(lazy-cat["IDENTIFIC
ATION~DIVISION.""PROGRAM- ID.~QR.""PROCEDURE~DIVISION."'DISPL
A`x59](map~#(str"~~~~^"" (.replace~%1"^"""^"^"")"^"&")(
re-seq~#".{1,45}""#{e[% ((f=(n)->Array(n+1).jo!~"Y");co
nsole.log("%s",#{V[E[ %((H-l!e" #{e[%(~:~A~."#{g*9}"~;~:~B~
A~."~WRITE(*,*)'"~A ~;~:~C~B~T`x59PE~."~'"~CR ~;~:~D~S"~#$D"~C~S^"~Z~^"(&"
~C~S^"~#{e[%(packa ge~ma!;import"fmt";func~mX{fmt.Pr! t#{E[%(Z'#{e[("ma!=putStr"+
E[%(procedure~mX ;i:=c:=0;s:=#{E[%(.class~public~QR`n.supe r~#{$T="java/io/Pr!tStrea
m"}`n.method~pu blic~static~ma!([L#{S="java/lang/"}SJ;)V~;]`n. limit~stack~2`ngetstatic
~#{S}System/ou t~L#$T;`nldc~"#{e[%(class~QR{public~static~void~ma !(SJ[]v){SJ~c[]=new~SJ[
9000],y="",z= y,s="#{z=t=(0..r=q=126).map{|n|[n,[]]};a="";b=->n{a<< (n%78+55)%84+42};(%(@s
=global[#{i= (s=%(PR~"`x48AI^~1.2~PR~"VISIBLE^~"#{Q["Z"+E[%(all:`n`t@ echo~'#{d["l!el:99999
;Z#{E[%(.as sembly~t{}.method~st atic~void~MX{.entrypo!t~ldstr"#{e[%(m: db`x60#{e[s="$Z#{E[%(
Zf#{E["requ ire('util').Z#{E["#i mport"+M["Z_sJ"+E[%(s=toascii#{E["Z#{E[ %(say"#{e["#$D(outpu
t);beg!~H( #{f((p="eval";%($_=" # {s=%(<?php~function~f($n){return~str_re peat("Y",$n);};$f="
f";$z=3+$w =strlen($s=#{V[Q[E[" !t~ mX{H#{E[%((___________)dup~=/s(|~~~~~. ~~~|)def(#{Q["qr:-H
('#{Q[e[%( fo r~c~!"".jo!(["say~'% s'^n" %l~for~l~!#{E[d[%(eval$s=%q(#$s)),?']] }.split("^n")]):Z(
'cat("r=fp ut(char(%d))^n")'%or d(c))`n Z('cat("end^n")'))],?']}').",B]}){9~7{ exch~dup~1~and~79~
mul~32~add~ exch~2~i div~3~1~roll~s~exch~2~!de x~exch~put~1~sub~d
up~6~eq{1~su b}i f}repeat~s ~=~pop~ pop}forall~=~ quit)]} ;return~0;}"]],"{$f(",")}"] })*3;echo"^x89PNG^
r^n^x1a^n";$m ="";$t="^xc0^0^x ff";f or($i=-1;$i<128 *$z;$ m.=$c--?($w-$c||$i>$z)&&$i/$ z<($c<$w?ord($s[(!
t)($c/3)]):$c--% 3+2)?$t[2].$t[$c%3 %2] .$t[$c%3]:"^0^0^0 ":" ^0")$c=++$i%$z;foreach(array( "I`x48DR".pack("NN
CV",$w+2,128,8,2),"IDA T".gzcompress($ m ),"IEND")as$d)echo~ p ack("NA*N",strlen($d)-4,$d,crc 32($d));?>);(s+N*(
-s.size%6)).unpack("B* ")[0].K(/.{6}/){ n=$&.to_i~2;((n+14)/2 6*6+n+47).chr}}";s|.|$n=ord$&;s ubstr~unpack(B8,ch
r$n-!t($n/32)*6-41),2| eg;Z~pack"B*",$ _ ).scan(/[~,-:A-z]+| ( .)/){p="s++#{$1?"chr~#{$ 1 .ord}+e":$&+?+};"+
p};p),1){"'#$s',"}}'') end."]}"`nend )]} ;quit"]};t=num2ce ll( b=11-ceil(s/ 1 3 ));for~n=1:9m={}
;for~i=1:141f=@(x,y,n)r epmat(["Ook" ~x~"~ Ook"~y~32],[1~a bs(n) ]);m(i)= [ f (z=46,63,n)~f(q
=z-(i<13)*13,q,i-13)~f( 33,z,1)~f( 63,z,n) ];end;t(x)=m( diff([0 ~s(x=b==n)])+1 3 ) ;end;Zf("%%s",
t{:}))]]]}"]})+N]};"+N]} `x60`nglo bal~_start`n _ s tart:mov~edx,
#{s.size}`nmov~ecx,m`nmo v~ebx,1`nmov~eax,4`n! t~128`n mov~ebx,0`nmov~eax,1`n!t~ 128)]}"c a l l~void~[mscor
lib]System.Console::Write (sJ)ret})]};quit();", ?$].K (?'){"'^''"}}')].K(/[:"]/,":^0"),/ [ ~ Y`t;"(){}`[`
]]/]}"~PR~"`x4bT`x48`x58B` x59E~B`x59E)).size+1} x~i 8]c"#{s.K(/[^"]/){"^%`x58"%$&.ord}}^ 0 0"declare~i3
2@puts(i8*)def!e~i32@mX{%1= call~i32@puts(i8*gete l ementptr([#{i}x~i8]*@s,i32~0,i32~0)) r et~i32~0})).
bytes{|n|r,z=z[n]||(b[r/78]; b[r];q<6083&&z[n]=[q +=1,[]];t[n])};b[r/78];b[r]}";!t~i= 0 ,n=0,q=0;fo
r(;++n<126;)c[n]=""+(char)n;f or(;i<s.length();){q =q*78+(s.charAt(i)-13)%84;if(i++%2> 0 ){y=q<n?c[q
]:y;c[n++]=z+y.charAt(0);Syste m.out.Z(z=c[q]);q=0;}}}})]}"`n!vokevirtual~#$T/Zln(L #{S}SJ; )V`nreturn`
n.end~method)+N]};H("DO,1<-#"||* s);s?while~t:=ord(move(1))do{i+:=1;u:=-i;every~0 to~7do{u: =u*2+t%2;t/
:=2};H("PLEASE")^(i%4/3);H("DO,1S UB#"||i||"<-#"||((c-u)%256));c:=u;};H("PLE ASEREADOUT,1^nPLEAS EGIVEUP");e
nd)]).tr(B,?&)]}'.tr('&','YY');)]}; })]}"~DUP~FOR~S"~&A,&"~C~NE`x58T~S^" ~&A)^",&"~C~0~DO~B~."~ &char("~CO
UNT~.~."~),&'"~CR~LOOP~S^"~&^"^""~C~S" ~end~#$D"~C~A~."~STOP"~CR~A~ ."~END"~CR~B`x59E~;~D~)] }"))],'#{f
(',')}']}))]}"))["~~~~^"~^".""STOP~RUN." ])](Zln(str"# {g*8}"s)))))]};}})]};}"]]],"$(f(","))"]
};for~i~!~range(len(s)):b~as~!t=s[i];a-=b;Z( ('+'*-a~if~0>a~else'-'*a)+'.');a=b;).tr~B,
?`x21]};K(/`x21/,"Y",s);K(/./,"^"&^",",s);K(/""" /,"75*1-",s);Z~s,"@"})]],?']}');)]}";FORiTO`~UP
BtDO`~INTn:=ABSt[i];Z(~(50+n%64)+c+~(50+n%8MOD8)+c+~(50 +nMOD8)+b+"`x4a"+a)OD]*"REPR"]}")]}");end;)]+"`nsys.ex
it~0",/[^{}]/]}}",35){y<<",`n"+$S;"%s"}}")+y}]]></#{U}></xsl:#{I}>"].K~N,'"&~VbLf~&"'}":s="~~~":For~i=0To~7:s~&=Chr(32-(Asc(c
)>>7-i~And~1)*23):Next:#{C}(s~&n~&Chr(9)&n~&"~~"):Next:#{C}(n~&n~&n):End~Sub:End~Module),3){%($H("%s",#$S);)+N}}end~endmodule
)],?%]};return~0;}).reverse],/[`[`]$]/],"[f~",?]]}"~^x60.&]k^n::=^na)]};Z"0~0~-1";)]]};),?']}';cr"]]]}"|sed~-E~-e~'s/([`x5eY]
|Y.){1,120}/Zf("%s","^0");^n/g'],7){%(Zf("%s","#{d[d[$s],?']}")`n)}}quit)]}")),196){%(Z#$S;)}}})).gsub(/[!HJKXYZ^`~]/){[B*2,:
write,B,:tring,:gsub,"ain()",B*4,:print,g,:in][$&.ord%47%12]})))*"")#_buffer_for_future_bug_fixes_#_buffer_for_future_bug_fix
####################### Quine Relay -- Copyright (c) 2013, 2014 Yusuke Endoh (@mametter), @hirekoke ######################)