From adbf29f8ce902cd164fc0c41491030268ecc8265 Mon Sep 17 00:00:00 2001 From: "Egor.Ushakov" Date: Wed, 10 May 2017 17:02:31 +0300 Subject: [PATCH] IDEA-149077 Default decompiler is chosen for several classes instead of Fernflower - tests --- .../decompiler/BulkDecompilationTest.java | 18 +- testData/obfuscated.jar | Bin 0 -> 67514 bytes testData/obfuscated/a.java | 39 + testData/obfuscated/a0.java | 18 + testData/obfuscated/a1.java | 91 + testData/obfuscated/a2.java | 93 + testData/obfuscated/a3.java | 2068 ++++ testData/obfuscated/a4.java | 164 + testData/obfuscated/a5.java | 921 ++ testData/obfuscated/a6.java | 5 + testData/obfuscated/a7.java | 139 + testData/obfuscated/a8.java | 405 + testData/obfuscated/a9.java | 15 + testData/obfuscated/a_.java | 8 + testData/obfuscated/aa.java | 10 + testData/obfuscated/ab.java | 43 + testData/obfuscated/ac.java | 3 + testData/obfuscated/ad.java | 3 + testData/obfuscated/ae.java | 51 + testData/obfuscated/af.java | 3 + testData/obfuscated/ag.java | 32 + testData/obfuscated/ah.java | 28 + testData/obfuscated/ai.java | 39 + testData/obfuscated/aj.java | 8595 +++++++++++++++++ testData/obfuscated/ak.java | 11 + testData/obfuscated/al.java | 459 + testData/obfuscated/am.java | 3 + testData/obfuscated/an.java | 1057 ++ testData/obfuscated/ao.java | 25 + testData/obfuscated/ap.java | 91 + testData/obfuscated/aq.java | 29 + testData/obfuscated/ar.java | 22 + testData/obfuscated/as.java | 49 + testData/obfuscated/at.java | 81 + testData/obfuscated/au.java | 24 + testData/obfuscated/av.java | 24 + testData/obfuscated/aw.java | 361 + testData/obfuscated/ax.java | 172 + testData/obfuscated/ay.java | 3 + testData/obfuscated/az.java | 205 + testData/obfuscated/b.java | 99 + testData/obfuscated/ba.java | 177 + testData/obfuscated/bb.java | 904 ++ testData/obfuscated/bc.java | 159 + testData/obfuscated/bd.java | 349 + testData/obfuscated/c.java | 8 + testData/obfuscated/d.java | 39 + testData/obfuscated/e.java | 148 + testData/obfuscated/f.java | 3 + testData/obfuscated/g.java | 3 + testData/obfuscated/h.java | 50 + testData/obfuscated/i.java | 18 + testData/obfuscated/j.java | 36 + testData/obfuscated/k.java | 7 + testData/obfuscated/l.java | 19 + testData/obfuscated/m.java | 19 + testData/obfuscated/n.java | 209 + testData/obfuscated/o.java | 461 + testData/obfuscated/p.java | 1047 ++ testData/obfuscated/q.java | 3 + testData/obfuscated/r.java | 172 + testData/obfuscated/s.java | 937 ++ testData/obfuscated/u.java | 5 + testData/obfuscated/v.java | 379 + testData/obfuscated/w.java | 9 + testData/obfuscated/x.java | 10 + testData/obfuscated/y.java | 18 + testData/obfuscated/z.java | 22 + 68 files changed, 20713 insertions(+), 4 deletions(-) create mode 100644 testData/obfuscated.jar create mode 100644 testData/obfuscated/a.java create mode 100644 testData/obfuscated/a0.java create mode 100644 testData/obfuscated/a1.java create mode 100644 testData/obfuscated/a2.java create mode 100644 testData/obfuscated/a3.java create mode 100644 testData/obfuscated/a4.java create mode 100644 testData/obfuscated/a5.java create mode 100644 testData/obfuscated/a6.java create mode 100644 testData/obfuscated/a7.java create mode 100644 testData/obfuscated/a8.java create mode 100644 testData/obfuscated/a9.java create mode 100644 testData/obfuscated/a_.java create mode 100644 testData/obfuscated/aa.java create mode 100644 testData/obfuscated/ab.java create mode 100644 testData/obfuscated/ac.java create mode 100644 testData/obfuscated/ad.java create mode 100644 testData/obfuscated/ae.java create mode 100644 testData/obfuscated/af.java create mode 100644 testData/obfuscated/ag.java create mode 100644 testData/obfuscated/ah.java create mode 100644 testData/obfuscated/ai.java create mode 100644 testData/obfuscated/aj.java create mode 100644 testData/obfuscated/ak.java create mode 100644 testData/obfuscated/al.java create mode 100644 testData/obfuscated/am.java create mode 100644 testData/obfuscated/an.java create mode 100644 testData/obfuscated/ao.java create mode 100644 testData/obfuscated/ap.java create mode 100644 testData/obfuscated/aq.java create mode 100644 testData/obfuscated/ar.java create mode 100644 testData/obfuscated/as.java create mode 100644 testData/obfuscated/at.java create mode 100644 testData/obfuscated/au.java create mode 100644 testData/obfuscated/av.java create mode 100644 testData/obfuscated/aw.java create mode 100644 testData/obfuscated/ax.java create mode 100644 testData/obfuscated/ay.java create mode 100644 testData/obfuscated/az.java create mode 100644 testData/obfuscated/b.java create mode 100644 testData/obfuscated/ba.java create mode 100644 testData/obfuscated/bb.java create mode 100644 testData/obfuscated/bc.java create mode 100644 testData/obfuscated/bd.java create mode 100644 testData/obfuscated/c.java create mode 100644 testData/obfuscated/d.java create mode 100644 testData/obfuscated/e.java create mode 100644 testData/obfuscated/f.java create mode 100644 testData/obfuscated/g.java create mode 100644 testData/obfuscated/h.java create mode 100644 testData/obfuscated/i.java create mode 100644 testData/obfuscated/j.java create mode 100644 testData/obfuscated/k.java create mode 100644 testData/obfuscated/l.java create mode 100644 testData/obfuscated/m.java create mode 100644 testData/obfuscated/n.java create mode 100644 testData/obfuscated/o.java create mode 100644 testData/obfuscated/p.java create mode 100644 testData/obfuscated/q.java create mode 100644 testData/obfuscated/r.java create mode 100644 testData/obfuscated/s.java create mode 100644 testData/obfuscated/u.java create mode 100644 testData/obfuscated/v.java create mode 100644 testData/obfuscated/w.java create mode 100644 testData/obfuscated/x.java create mode 100644 testData/obfuscated/y.java create mode 100644 testData/obfuscated/z.java diff --git a/test/org/jetbrains/java/decompiler/BulkDecompilationTest.java b/test/org/jetbrains/java/decompiler/BulkDecompilationTest.java index 7837905..4e2fda3 100644 --- a/test/org/jetbrains/java/decompiler/BulkDecompilationTest.java +++ b/test/org/jetbrains/java/decompiler/BulkDecompilationTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2016 JetBrains s.r.o. + * Copyright 2000-2017 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -58,14 +58,24 @@ public class BulkDecompilationTest { @Test public void testJar() { + doTestJar("bulk"); + } + + @Test + public void testObfuscated() { + doTestJar("obfuscated"); + } + + private void doTestJar(String name) { ConsoleDecompiler decompiler = fixture.getDecompiler(); - decompiler.addSpace(new File(fixture.getTestDataDir(), "bulk.jar"), true); + String jarName = name + ".jar"; + decompiler.addSpace(new File(fixture.getTestDataDir(), jarName), true); decompiler.decompileContext(); File unpacked = new File(fixture.getTempDir(), "unpacked"); - unpack(new File(fixture.getTargetDir(), "bulk.jar"), unpacked); + unpack(new File(fixture.getTargetDir(), jarName), unpacked); - assertFilesEqual(new File(fixture.getTestDataDir(), "bulk"), unpacked); + assertFilesEqual(new File(fixture.getTestDataDir(), name), unpacked); } private static void unpack(File archive, File targetDir) { diff --git a/testData/obfuscated.jar b/testData/obfuscated.jar new file mode 100644 index 0000000000000000000000000000000000000000..df97fb57d3b6daaacb16581b3de28f31f8babe1a GIT binary patch literal 67514 zcmaI6V|1lk6D=Iuwr$(CjgHM7vpcr!j@7YkbZjRbJL%Z^a?W|r`1;&C#{Kd9++)|8 zHEY&fRZB@06buar3JMD7z$aXCy8_lL2p9+`7!(Ky5(o&$h{43x$l2LdWlf<^2q_z! z4%0!eGcO=w`WYx8ElsLFF@uO*K*(duu2&@zp3L=X*XI)Sm1_44q;a-!#N}W-E1i4e zeCc7B5@>##1ZJDc5)6twPMzIEZqsTa5B0~QQ5AnJjus9Q)DIol0^-$rAw;Znu-UN` z?E35sqi$x~Fn3!Uk(F_A5o)1nU*0Hcd&_Hl(#?uZ6b!nC)CKY8r1TC;SbF}bAuyD; z`(4+&I-Tw|QY8)F`Wy%o=btz_OyWevZfo$BYyC=zw^*c}x*^Tjr1+c5YkG2}KPkXm zbGKS}F7^Nl#ppK?arcCI-DHMBU!c!kx$`hs^+$^tB1UCl^;)?+LxqH$q(Lv{xMY{s zIECT)rK_lUE5$5$oI?*f&$k%!rfEu$q^elZlR$~L6lnr9VUdAuZE~Rq^&hbYf)#ss zt~ulI1LOyEYv`{>l6_!iNxu76T($-y_E!zBp?YlgLxLRg`%t;yc|K|#QG2w6J%TCl z`-HUY%>iOKVn>ybzq|n}$wET?nI5J8B+k6N^@Q*}tOTp6%0H04AKBMPCSBC`LwG>)dwljFBTj)(B?G4|j<6!1ed!?RX_?;YSj`~7QC%XW@IUcd9AJ!9|bz5u8jqmm{`_83ARDaFQ{&WatK12G6gLe zeN9fIhNV5nq-lHJW`rcGZYr>SOPCT_zDtffLK>9;hq&pGFWGms3I2@~!}&qDfUB%d zG3c%MEUH_ey^EXE&e`Vx=~=?WbwfU4{HD4uYz@jPGdUzzI&=DEW^)p=s{~3SSmuXM zcm+%H$x2)I?gsVT_>^C(2JSDrr98ZHV2j+{BuCfsfs^U*wu=qA z%T@9Cx7MbZ-t4m?-$@Ck>aKe+{{r<-=>7|;BS*@|Z!jRB5a|Db%KSf2HFUjE)zS1R z(@ir>sZvpXV~F*z$!Da9(SY7at=9SfM0H<6c%#(Ud-F5%_KohH5n+ zJvBUoY#z3MlhpUl5V2BixG|gLemSeZ7dWl(E&lfYHs%1tbEyyd>wed>V=s^pa?f=- zHWfhS*MD@k4fO?jOa1oPLw;CUu;gVBYbkyjK<7u!^;?ouLF(cT2!e@9z(MMwFh+GY zXAwXFL>ThQ70F4ysJr8=5OQeNm$Y3&C>46qZ6qZ>>fyOd)S@jYT zKia*qvDx+POkE4r$z33X~yS3$>xP`^FGAYa&24t2^{tb9&Xz-*cjDM0D zEH$)q5_c8c0=Q+3Gpn!hjE(C?4>#aU+T41eT~wt08<8drStaQ)+|seRWF{S34Lm;t z$1XUiZjJh|IH;B0>{X0EoP?_>{9fD=U_}U6JlO0eR;ky_4Qf0R!geqH(Ff5;HSZX@ z6A~8uCPE87iHX8y7(NLgKCBLUvBNJ-ZoTCj1?|!9k9e6EFuc9iBY8A?RqL-fZD!cq z(PR<|0_Q^`%R5-7?NbFkX#pWH?0WDPRBY0pT0zDNvw&{zz->?yAwGIqJBh}@C%e1H zV-wAbp)4c&7O)i$cB*j6l+ZfU;Y`<#u`t7WP3GjRpDId+yf(hd$3YJ`V;Zx5!>gb( z(-_Z`rgalRlT3>KKn}xg92%D!X-GfmZ7rKrT784NO$q+B-eSr=&HMAD@cyOJR^}*I z?y9&!y?~G@$|@RPrMibc)CbrD*)0vu`Xhdq#~yM=Im;W+ zJ8Qf*lv-GgKUOC4_Nc}?n-0lqZCyA;%hGo6WD{3-W_C{SmISmmT#aAJtCe{t|v}w72l(HLvVU5k^+WSq^$Cgl`vlO#^g$QAm;I> zIQkT|n)S}w+p>k{#4u`($j#X;0VQ@i!s6|zb3$8e^bKMG@WxS@5j(e(-&ev+52kvV z%|pEB_iukUog3;zhvk2kK~-KART#-Pk4&4nUntvUyYZaBQ#dXrta||8O{$ag|=Rq zv*Ech_jVvZHD$1g2n=U93G9xZ)k2bopegPmgET!DYJ<`S&<_e#>_EZ8bL*kZmlUfG z!nu`>+r~sjnqf5d^QVRrabd?cE`_scGv6>m;>WvWh^I8>Q^hWPydAIU-V{X2GAw0Y zXoz1`rgV|5|H2gInU6afgCa%!tYg^A!tP7&f^j7Q?@S-JA_qPzL%~$!V5bW^)ReAP zRx>R?6{VCME~m0l$0n*6iG{{2rbKP7B8v>GjD364!GbeQ)gMe0s7F`$L&FdtFj|Yt zVsET9K#xs|#Sc9l1vEuW8f1iRv~F(sj!1ZON)r>f53`ONEsWl}>O2sb&WKUryC zDjk_u$!8;-_mrSVAu8MIZ1j5k{f&h!Yd$N3R`i_UD^!&;*n!7ghBZG2{FoFDb%;dl zgYB{bo-9^&{j-m*bkT>j-m36VT*^FZfb_KtdqGj9OFT69Nem{QjjHL4Q$(_rx=XEk z$n%X9ci)Iw?ULy_WTRT6nb;z_^Ew;4HC6Afe$1spjAJb!i<(CY=`ZpazBuM+qn)DT z6zdZ_FS1>Rp(o!oVaRCL-29puLRaXGRF2=p)!F006xSSc2B_l8N3>5~U3~{*{a=CJ znHpwcbeYY8(QiRaz@ch?@zIzInlv$nj^YjIKf*W;SZXAPve7iaaI0PPsr%v4=29%u z>;Z^lSKkP2zbCk#_L_(|SPemUmRk@i-GSF@7nV4uMd4GN zZHwtG_v?*!qPXxj3804~P?9_RhcSpSNOi!U%{J% zKYDX%psW-)gtvHK9Oe4`_8^HZ!^;n+Bm|HEPg#f#JN#`K{viE-%b{T0Rk{ou2x#YD z%fR}tWjNJDl|=i1U#S_XvxH+L-fGXdRJ+6%BL#s63x@!ao^A<34FeH+cojf~x{oUF9lEz#AdUKIz0pzx=iNES{ zG@YjkS%R>^we zs)S;cbq8dk#1zQ(L1&?DCn$vkzRvVlZoF2e3O+y1j&1t9o}+!^?UeGz&pdDX+U(+a-nG$UzLt3?JMEn_m8%yV5;8A80=?mGNS^>H|C6DBEoVjtS!VGF7ZU}&<|2(Es!w$3^SIKfCGdCXf6cp z2t26kVp^1&l;XE6k7RYh_QlUG);87sLM`uE7f-dVn8$T|xP5_G-+!z0wtKpN7tX96 zAT!n*5|?92LI7WtUuP0uTH54W7|QwuJ)%istTIHd@TIQKP;$3-Iv1zt`Fl2x-89-r zOO(5*-nRCaA$4q3zV&t1a{5$QNgV-k=K(} zi$@tW=~dDvLO~cPP-e&baf%RA%J0%s)>M^pP_;X(2ZxJatxjI`rhQ`U@GTI#F+hD_ zxP$%viuI0~{BU8H)Q4opIVR@1|AsuzjbET2lcZ~>^m_*Jm>u~}=6I7#FH12XmY5O4 zN}xo{Zl;uF#C>VUCdCnR^ZN7z@+_IMl*vS3Fw1!^b$Fwh zh&7KWMmB}YDp&NKo>hF&Gcz0xowhL9<`dHv!Yx(qCO(?7Z8F=EA>#dJDGzX{2_PDn@96)?r#80D;x`jSmJc87HDNHLlzf4J9t+c$S4& zHAPHW$M)y`wFnwztw404ADN7Fkq?f|fn)n|NQgS$z`2Y1!!%N9xwq<_ul75ju)CpO z>>AB1N0JFSRY-4NEpfQiFl{)*(^d|$sUlxnWo1B}!$Nt6q0DxhMt6?p*wSVBfdyhQ zgs&VmZGq@LxSb%HnG^WO7%5gGG+PUwPC=Sb@>rq`8p`s?b(lno-^l(9wlm7D)eV+Y zbOxBO4WY3)#!QT-&!OkR65DfUA6$&L+*`YR+stO`)brp6H5(hp^s-F9T)|L{1x9el zj&=pRZDz1(m?|bVf?oHAb0Bl~1A)ui`wFJw>zBFl$kvjU(>uYw*qg_}%@^D|8M?WG z8}-;+1g-nl@F86`8msv?#_uCZQ-T_gY$qs;_Sl6Ywwe9+WNv&xNena_EM@g>TY`Vd z`=28IUwMxvA|%ECbUG^#|8qNR|8qO)x|+D^XzvKpX{Ko+Qmug+4GYsSz&PU2`Eepe zg-IMq8DP<(SbbZj6xr!SSF`zJ23v{GI!iKlBO#3-qjmQyoF8#5Q)EezR*MRA`v@Uhz%vg2qk=5B5DvFw(XEjJR}R3+Xe8WLkj(?snsLM*>npVwkn?#0pPI*@)ImC&p%+6*>;-GPc-DM2$79gwbUt{yD~ z&doOfjn#I6=At`6Jyu>+Wj&fyh1+z7G;PPM9mAzdL9$K40Iij9$?_XUE5#9!5L!w~ zie#`?)~A)oP`q#WQA|juuOt_iX9|Z$U#XFO&=iXAQg98Mv6#W*d3ZM`=bib&4*JJW zDG%^BkVP)yl~p3%5?5&L3fSeiT;s&;buaf&fwYs;>ClpcT@Zo9T;k#BvvtiHb$S>1 zCUj^XxT^1maz+pzwfxN*oXJrWS8)ALCa<1I)Hb)Rlx}im*ei5TND(ttY4M~F3g1+l z(4zY|c$B1LA@ zX%bO(!Un&t=#;6z$rB%ql7CX(!>bnK{;uglf&;f$R{tT~7?nUm%hCX@D5GYA#|^vG z@>6lGG$)qDaTSYZf$!TK73TR}6!F6<-n>SW9p!F)NP6N(Yf6PNqq5o5aSHt@c6nhH zDeB};r`RPM9ZW@t%*gpG&OY8tFq{R`F%s@y>rtsH*}u^YzbgcR$}aaE!pS!wZ^TVd z&m~3j*?^XnLcxOnaxqZi2`oG6VUdhL=^ElmmnBw~%N8||Zb3{$EDb#>X+(r$oQXs6 z#PMq3%H9Z4mYsX%>1>>xw0zL}75Ea)3g-)D?5Fm42rh}2#?Y@S zVFKPK(D7UUah2$|D9!FVa0aTkCAG;gzm9)*)FKSX)YdcpAvRQLZe_sz?6x4n!+r*^ z=26~^a{E3HPPT4U%JvI#o@xcdWLs)p`sSFX6`mK$W;(;55b({`k(^zy$|?Wc!|}L7|-$7ph2+7JESE*%AWH{|wNTGE6*XL|^W_8fGQz!$rkRi7xU^TxfvK3(r zs-V7p?X05p7fpQ~?}~c6mNtDxwyK9t3ZLie`mn%VnIO5>uN83cnfokX#_q!hz0E`4 z!>MoIy5S8$zhYcfgz1xrkc5a)k>r!80RuzJFVpmfHnB7mi1u;VGWH`p;{W_ueXLT= z&yyA5bd$Ms91kRb?mS8)%J0SlUDl7`UmgoR1Oo$ylPTR#v8k!Xdja@4d_VkA6BOv- z4~rljw#76Y^5hnTD9PoJlu3Y^3(Ym!gBG$Qv^uPWF)sl>D3eZ833}Y*m;b~A#b`GN zH*rFgu~z>*Z-9`HI0WtY>E?Pzm#3&KrV+C^D^^NdD2Qb8ZiJ?0l(NG#3%kkuuxnuz zsxrHg6@Zj_3oCFLV*ys8$dJ!WV!>XXvLIk~bsYZZrEw>a{t%DAuqjp;tJ>08B`*Jp zhvDTdcC+)~2&*m+?dnW1tdsga|*Ov-bI^DFhn55#^QVLBU(Vk47E}~uf4*9{z z1^7`9NX*i`1V4APj?f1)A3p#v;b==(tkg8ouF0fUK9{aK?aBIzhucJ+zdVaTFPCU* z^iV`o_O+6@z+g+%RLh&|V;1E6=vD{r^zZEg>v`kS4%i8N5YM`U_`u`Bq9LlE9uZ&* zPoncXzxb1q#LLQL#yM@Q1>`JJws^CnG};j?(=a;T*WeRCA5`Ol!k6} z@@b`*mpXZaz|uh=*E4Zc|dbiaovbj`C=mD zB*bsDlFA_0i+x|56h$@c^V$$g4_B|`NJ1SRWUXYbNbg4QARL@SF3!QXHjCkT<5sRr zUwpIyU@eZjh)`a@ks1t9uOF7ui9jxT(P72)uZ&AQcv@c%!}q1!@8Sv-;aAa8Yv;wB z2o^t9j9EseDMp{#?MQowduvOOQ!%#s?l;!Kmifg0l91GA))K^63c&PC0rO$~fLX4I zx^PUk&p>~Or9N<*Q=9Ezn}^M z@E_1WEN$~Gx}Z?L=?hsHUt}E9Q=nAJLKQT}48b@2$W5O)v&;}#slLa|hs&H6q0#F= zN6=l*3S%%iT*OBLT>BQW`ypVN_? z(EQA|XlPP}g5#tmzI;N5!@ZMMP?4^V$}w5HD3G?_GUoLPOt+?wp{O)T%Q$g1s;M|| z(5mN5Rl)QptgrCgHizgIEd zvt7aG4%qY@BH128LX==(ZIx=dKN)9ib|lA37omtejR#%YLUDH76jK*~4WV~i$aKLF9p+G%&-%NmN=QLX)*U`Fq zGpP=C#m7k0hhET@wzzX*H0EPuiv8{0tqSL^@7`@?j|(@@YdX45p}o45)~&IA?FS@d zUonwYcN)7k1H&QvgWm5Op_}PJ(t>p7^uzcule&zoF%VDGD>3Ao$cVDU0EcF`0Ix!+ zoR;@R_8HLN>)_bbvd6&dviS!>Z~sjtvgZk+BN*a~U@m3&B3Rsb7yzTteb5aDGs~6?N8Iq~2RwY+1pCsEiazNuSt<&)eo) z%iXN6yXdEABRlBt6-}U+nKNHFXuz2j({I8W>!VeQQ66;VBMbp^sP4o>S96A&gnz-U zYjKjQNa*7sV>UJZ8brW+{MuB3+>|D&@gOyEw*4DbuJ{JV8>{xAP3f9L-lVZ*Ii7Ft$! zPlYize=U-}a?q)aqFC6tw3&@$Bf&OB2Ozy-cand-6L>X4`8}$d56$;Fpt@!|-OI3m9~%Z)lq?sm2~YvakSUa&r0FBmX!IP(1pJWdKR zxd^T)BAYRHr;%e*p7x(xW0@((>xP%5Gw2X`hJsb`t1NPn+etdq_Bd0~Y8y2iD&!?r zI=HZ}86A&xIyPLzcKoOS|FeY7jfzG4bXOUSXuSjra3-kWJcmvhKb_x$`aHPxzcxDmz|QCdq;NJFThQGBLv3G-tn_ z%_~osf@1VS@0ghajpX02iI%rp(C0>R*9&cHYRH=J zKkD5{{m_cBpYhu-=PiHPazx{w#Nt$e;hbw7C z6MReA%-Vhne?soTqp%{(B|a{=&_php<3dch_q&SC^9`#Yo{ehYT=YMLeY_?OLn6Pv zgzInt$=8S4N9Y)Q)ExI_(SQ7jvKF_a|2VdX%7XvX?)HJGj|^lRK~&`Rvhv}`z4w>b zHxlK0uoZ%UqB^9rwF2PhkSC0+eU90E-;Km2b|cJ(vG_(?F>4rZhs(!Li8122ddBa|_6kH4#UD@$-0bB&7 zgI3#6>ZgV|jgeqZ{R2a`nc+tnBE`@ntPfe&lhUm;GxZme=d)OpDKsXOQwod8EY{7| z@n(y!@6UDcxrELnF_A|o01Xk+)pbkBP)JHg6%k5>s|_n?i|L680(%;eR}@n)uv?fT zRL7WJ_5{X*$}u>%LBXl5Fx)Yoz@+pn0+^7%w;3?dIV>m<~e?g>FZ?*z5ubo;4bw8o3 zx^h3-I6rGn7Q@aos&CkEE(E)Sk4kMi;z5*Emey->=e@)So5!(KK)?Q0-MHUFE-s~P zRr(iH(YViy3cc!*h6x{yTmv2JEtTrGK^?F*!kdp%W6Scyup?T)52ZqxI~3%#C@K3& z-GSVS@h!2~mtlAG;msGtDmYOStLCN@Z!Q~aZv7#wDwUro(nHZEEh4@Q^QT|%M$oNI zNDOy~^x1==PFs4nYNH-OC-7M1Co4p+7zfD70MUv=Y;Rs>#J|5E=1^l(ujj86xVa?S zZ&u6`N0VAS21T{c03{EV`wwM}CN=;#`9XN0qwzg6ta;m@tt<>-V-U9pYyC;Rho`p7 z!RhS#R@%e0z4uu4IMj&GxU=Hr2bPdu;buZYXx7!G)-Q;1heKRl)V3bGAl<}UYQN`! z0NSb}L)?ZJVk4>xW$*3@9>CA47HD!(Alqy=oEI2nl)<4e=`(3^Y&nw*~4MIljP#0kC zP#YlOPz*AHTiSEndA+l+E<040?iv=kGCEmeTl_XL`BE)qUZ>llJ$QbW-MoBQldORo z^A7P>yZ*Br{#z(*t%>$npY1yH^ZQ$_x&K!vO7e<*LTFibc?&SL0aRDTlyt>X#>P-X zup&E4;th}vwDyMb8yR0qzm1`WhkHHj2ws+8ZKA*vT(Zu=i7R!ur2V~VbN!e_&E{j3mbI?& z_iX_kL0AqP_4on3K|73=kZ^xKL~8FAeMqBKk9M(&Cv96SC?ItFoT>ix_@>uW3fRLh8c+ewk94L^-N%TXv|(ja4Zv^^Ya4|+v24a2$fRNDf@jzW9Y z^P;^H=2Ep7;0VP_UA>Xrp4>7wYo>+q;Vwk+r1Vn690*@&1dl^aK19 zw6yKjy6W!lYxbX@{1>j~Qb&B$PpEqTh3kJ$n}XxyW&4GYLN+TaYwvzoD~pL;Db0%- z3t#3!ksyoxAde2XXM>kruG^5RqrR>7yo7u#7zl?vCEhYxc2Bb)OnZ9u`T&~lEe>>r z#6{2n2>{axl?;4Amj5|tYJ8!invxAW|3brIdZPwon@of`oGQouES)29Enzi;N79@N z))cs|#hx-nqbf>Y9VJbtot!3T_z@fa74i#FC7ZahjhzUOh0zOPL#idZ{8Jz*AAeA@ zzJX!$tE`k29epC?zO%s?GjIQKrfDfo*X^=8@s}d*UBXaOY;FHel|fr+fw5ElhjD%Y zZ^_rp>L{2cJOcwY?HC;Qn|1XqNBY-79-PhU?DnI+U0DEyHK9|4BElOqWUgU0Br^uv}ZBr1RSV3gsX>FXKE zGs97I_!EQ1VmoYl5~!kYt)oU`D48ndArOz)dLoW+)?p@6{h(xA1lArwM)0xBB+QCj z5=HoPmuOR5L+pIRK_P_$#e0*5A=D!~D3NM4J0ME*zw4v0tRtO>v*HOkCbHKmbMQ?UHgN>-~vHjvKje0+!+wYs@Y|cq={Qvvf_QR@Y9$YiVSHZ zD@q6~QX^>TuRzhn*aAZAqQJr#^GtP2rcpDe z#|r}uEKW&}%Pu`Aj>^b07?~nTK=r~KgJw+i3;=;d(Fu8DY5DnR5Fv`y12gl+O$_t^ z1N~LIe@6A+c&Da}Zmd3I_4qel)BiKx&tTo$AQ1kE7a3mud&NMV*jv^>hs)bmLjHJ% zi;Vh)98u5DzMnng zJs`%+H6YRy5FCGp_h%6Q4X^yXryJ%|R>(e|p8gG|*+1b$tLv+xYGQrm0862xB@sg^ zSE*=vDitf&u!&2_S90uyp=Q&H3^jv>H7Xc^IF|n=?$99U_hV8>N2Fvtsokwuut+d} z?ofX=K{$(fg!>}r;l@+&ey{r5*BAUApe~!Cekg{mCfn~=En&Povk*7{Nv=SM=5{B% zgxwMz0oLgNqZNTAX5(D+2OMOd_pdbTFZq1sCUgOeOa#4P1Xy8xEKK3lpawhfF;<}b zY4M^G!j8*d*c@DVxQKS3xuA_NVhWVB=tl zcNG#V4>!Z+=rds8Pbu!h-s@1apI^3?@@?+KL&yhK9X^Y~p+-)zj7u4X3l-Ep<|TGq zJC$K~A9-=pxDV0o7w%S5uHZpY?1-6;{?maFKaC#W;=x)2>6{ToXV|<}X z(HjnU^eqp3j;xWVGZG3lF~;Uzyep4EM`ifjtP%vbm-tAoqiPYHMir;Iti`{CM*fI7 zhyCsgEh|D+>sjWKSjo3GVq*zyZBe%0P?ITpA5pKCvU4{O!^u@3V{;rH-qUf0-!^yD zRieOb@N<8;GD#dKN^A+5#X^+i)VY67byw9St2+@d4COpJYgdt{C}9+Nu9Xvf2Pi(z zi0ocMvsy99RfIHvMhw*d!uDA>ToQKBb&!u2N_^3MeY~_wxr`Ga|bT`c^qQ0B$c9Occ9D!}#M){U4c=iZQTg&8m4Mw({ zsUN2mWPNO6lOaOHPc#FjJfjNcV@p55d%<@?E9ytglPlC$?ffUuN{|RHo0?4!X>eRd zWV7<(Wj5QqE23A{oQs-SJKObk;F_*nOzC?PY@qh=wY}JFWR}9jpVzpR=w7)Hw>(~^R!8sm@#0!fJoQZh5@ZwgY=vbTx} z`2$l80s%+CjSD4&`-A_jXMg_df8+7?oe^69^qbkAcIj_Dv-l?-dgTpSG-b4pjdWh# z$un1ccGfxh^D$RLcT_gkK1fw%QuKg6=yHI&_M&O3@u@J90a%&E_cLmgd+LE@@;D_W zpDTmoZ%R|Gyw2Q*?p@snJJ&~8Jy0R~TrKCh;GN^oY2@h}wM|vG?p6hxLwP4SIJMNP)hH}){Vq%CIAv{cg= z2pq!H7rDYT^&6Yhzv9q*E`@r<^@Q`(iTydi5$)zV=wLkXlJpVB2G3?sbci(@0jc_C z!7m;{yFO$vcyK#8(P-Yk64yn%K~NwtDMq$damqR*6bpj3-UoQ4WqZk>k8VCh9u+`C zF7`hLahZJUfk(!9z`ixWwdGeh4;%q+zHe=tj8*sRY4e#~YM#XTzY3MTjhV*T@})d6 z*dT%m=DEz^?1fLI#F+aHhWHNnD&&4WuE$v~Vewr=9lTpKS{Jf?faJ>_GqLt>!?u@N zC5~qG*B&>4vWnV<&g;VkV>9)0#}V}rNj?*|HB78&ot>~OqUMPr8^09t4kJfUKyf}W zO;|8E!rKu~Sh;9zwNst1dat)XS3|hH!tOeUqi!Wf$t`?$8e?c$I+KS!w(vP_V4aKYPx z7m#D8{dB*&dCzTVtkc*G=Y?ZyJ9F_|HG5m$_Lz;x*B&?CytPxePNur=k9HT-0eSNth)Zw}< zGyq(6|D<|yCL~U{tjnU#rq=V;83V=2CEoZY3?@_xxx!;e|87#HS4wr@6+JsP4P9DU zo7hy{fdrxUFR37j`_I89)@kMec?0nb=?{-A&O?gjGY{7XCN+&LonEy_G}lZp4-DEhPrxZ# zoM*nhUyFq%Pt2#JN@N=UVm2RI???H(N1tjv{`U$qD+Z2OSFZXsI*5TL zZYPc;9EXOMgnhY$!cxOlD3{4{lzE8}F==Qvbk&TwT~NA70j@i5dY^E?>)kar^7Z3s zpVp7LBPJJFl*brLqdlI=o)}pirNA0zw`Bq#DT%eK?6@AiLqNgx`;>{PVi%aesgP?H zFBa=IdT?CKn2ni3V5|pBbbK8hl0^HqFpE!}yoEW&4&wrZFSCbnaww z{^-vPv58{4{UmD6cq@1a&P^N=F?bPCCR{W+9d>PXjHYfFMx}@|2u?B+HBiBE9!!Y>)6{%%dUru-qiTR@O5-_fW9vRy(MeMkr31%Z_`$<=MI_ zt@(`mSV@n;RK(~lKujq$nPob745DquBo~_=FBV?TC}TI=ADfSzDUusP{!AIv4gGg| z--I(AmPZV5$o*(no3^*j7c@62)EIG43YL=^GEbj0()IJb>jQ@5yfX~Z8^RY)11y~K z!TkI}i^Jg5vBU&*cE+T0wW*@+O0~NfD!P@>9L7Ef^z&yzdJ8giY-I4*Op)RwEmr{R zsl&;SXW1CgZ8W=QZk>-JxD{Mj2YnmL@6P+Y-eZEZnB7FPoB6?NdNG*gv{nA-6)N5J zY#bz7L$bGXzTy60p%RSH;?A`CH1KwoCG0X?2sjfMJbAS8$D}}d!u03Th8f-?vtqOb zjc!L^tB|FklkvJY8>(Q4Gdy3TG!sR?E2)Zv_2Mz)rEEiWHk6q>LgZj`i+f~Ck&qwZ zw8egXgIa#J3<|5?JjAEEX-esri0PFHW9fM46^_w7o^{{W;qFgEBtr>+C}sM5FtaJ{ zamSX`rzI%-X2IqI1}kFIvOUH5R$MBxOB2pHO$Vo=^$h=4%l?zY|7AC4gY;SFXK(yK z`d^E*{)gRzn%;V756B-3>l+MX5!= z^@gjxY$L+_Y@|#n)8@C(9#H`-#j*w}W1{XIg zPj6puGB?M4EDku^ALeCa4IpX|J`$(tx80yG;xE5I6DD6WLldT6LPLK~sD;la@nK={ zJWF7P{7S+9`2f}h`vy5FKA2Qa1iJ;hlLaow3~%r>{dR;(R4~yby#?OEu$8lJ9f0hR zPz&dfVg(2o(M`)r0zm#Y^>1crjYQnY4p(iVM0M!zl>5c7(5m^ zE&=?xvMe!5#(m+_nZAq{0bWoAH-~QaVot1^Rvkw3|@<^*_BFL=HJ!s=uZ zL-|(a1q6lB7OL1Q!dN+A0s2+Ny`i88{U4`O=HkmAe&r zcHWVOx`4YxSV5!L+@#nmU|TW|sdbu)#syI7WuTbgBHEz_HyD~5Zw-FXLGuAOK)+%K zHyGv=^HJ?>UfyZGit;;4TCcQ)!^-;#zS+wP(-nCEotBwF3BGw)X>rxy$Ci9qd?nJ^I+rrhqh8?Kot3_~!XQou} z6(yj+NxW4GR$yNyiXFt z!ZdXitja*<&g-g}uJpFbI?uu{d>z8F8nAKVMiGjw)s9bMoKik?*g7o0m0Ivo#(TWd zCvKOh4IHww76Lf3AP@?t`HK(|0{9rEoI=Kw_&2;o%0uN=<_(o#rz0C|i)Yh^BATJx zHl|UdEssr)_`Ha68k{CqzjzfWq3K88@w&6MfYG^kttk27Kek9NaHVv6c*-| zKB*&Q2LGP%4mhycN534utR>lTUpFY#7YG$pf?H#`)P2pN$aXQiS6nLG0)JH(D$cvn z-$a2aOY)IbzIyktJoq+EPqk`bus)jAP5a2%tc)A{{fzn40OmbN@P>2wTW!D* z2b5(%(BSKRK4UZ6*IFcpQ0`4>#7?{Mr{82P z3me=p6Gp6|G|#=bVJiwRHa20wh$}J`J4X(et)|RWZvcelQDOCx-ZO%}gbBCE5#`78 zv1rTY?Yrx(7SwErhoL3K;y_eO z0DmXgM(B)`X$0vaSMlqmMK`xX=(56%IbI>QsGgJwPINkXk@6n1Hu9K_oK{i6B=k1z zZL>u26|>B@uVYLwG7QE=O^re3sWk~0!6sa-USL1KqPDzFq`*s~I_iD6b$i581Q^fX8la5}b_LiZ~y;HIvbfW5TQGSir$ zzp2`mSAGZjPOcth%&NX?LlKBH7~NpMcUjL%=jy^Y@vh@PQ&Fh{^oB6ZCg6QX8hziFiswA8It zyxk7SjG@^S6H@8O$znz8k|!gLcZDrJjkKL%YY-~xT={jvx0S!Ms&m2#qkUZ#L5)5> zAa>{-NptXns$?!vQjwUS{5HvA15a3Cksf(`Y!%%&4s zfc`z{_%rhVo@wNLmP72*#)1B8<81#qQ?h2bf!Y%K`)|6A^x;4_P%1+`ltd=hpuvH( ztz0$WQ=)u&D15S_*lp;7emDeBct9&bFY7H@b2&*9b)z!{poVE+Q zXU_SYn_q!FO!D+M-iKY@zgsu8e{&z|SAD!(qXT7LGC~TR^ibk?jQW@0KSo8_DUrL3 z#pUvBONL1!qDGGpQ*_Ebn^s6@4H@A9NCLj5OR?cH!!dD>k};U@Ly(hcB`Jk^2+$Q^ zT^#I(ng(ERANQjWY&SkIy>yO$C9L0^>LJ`ZhCF9_U#uM{Sn+@xPV z8nAAn*MMU621r$L|4EGwcM_B&O=e#pv@x%4U#BuVGujeZ`CN)kMn1c&)}6J;4em`C z&Us};EWE2E+lSjTvQJnJf!E0~F&#jP=m!NJJY^HC6hTw(n#9ojpqHik@8$Z3_lWWc z`Al3eH!l|25iZ2R{JcC5y+{fg-Tt>#V3n;04w#A$LKYBrkJ-)#27tN2gAx6Ju{wLD zuI6=fi9?l@9eH=B7qNn}Me0``kK{c{t^Kd)M`aAmg2jx$V*wnsLsR137E5`=S z+@AV*$Us@AqMT%ciaihBqes!&cVPCa#-S+Hh{sM~|30{vbc3tn8dshqnS(_pBwV`Y zfsh?yJ54T;P=>O2m=ulausM(?2d++10!>LSEEqS#k^l&b_Dc=$_H?kc`5k(gF9Vq5 zKGMBdlTseiy<^KITVq(MjvBq1jtaeCleB3A;NX}5X(D$|Q)^z-dsbpvcKZ-hW5o1&@*h~ zc2NF|=$58zZA$ie#;9VkkK;#x(OUea03jg7sG`)z4!$|$&V_J}Qbqg7&?Wf;my6;Y z50&I%t8$am$I@(;cpDN1VJ9>wPan8XRLJqvV+s07H%mwoT6{`}q3W<;g-%t`Z{kHbURz1#;BG>LfiwG6kryx`vJ^6thkRK_HQGO$b5cLVNNWLeA z_4i1@0~iaCkzQmIeD(526EgT%)A{oqqpZ;XA6MTLWm(oWo3?G+wr$(CZQHhO+qUh> z%B-|i>8hLEU-$T{@56cCYwR;)#YD{5H3pfTm--S9AeI$1>q6iCSevNPZqz09@p8o< z6#U!K;6=cZtyo0-QfWF0>>1QxJ%hATJws!-P5Mf3=Z&(bm*U_m69-K(`xY>ny>Jq4 zjpHDm0@Ux6tH_{YPaO`#Um`>FZ>Ip#59%YZ9S%-jN<;LS+oLf;GW{8nQRA`{M1Idv zz5xG{Fwc%yeX4ZqEqAQ*gkQUBe|^?@^)DoO#Ho2`V?3FM`ZZ^oj~cghCz|=h4%$Cx z|LS%xza!>?4brwOJ2rb2ZwGI89Y0cC><)cyxz}K0_r0#N|AuWmfG>@KCYCPAb_B0T zmgQks3Q3^U9!j$hQ(};kgKqG3tom}gH^hbvDj7$Alk`X4Iz5vYI7^_FAvuLX@eNhe zbe$kxuU3l=Dvl_N~j@DIZjpEt%R#L#xZn^iI`T1+yTWwj#2;)J=16EXo%!B&i4 zS|nUaHUc^sBlB$>($Kl&`*Mb>6iyf%>66!(HDwrRtnX5sL4(l>Qo=Z6(GGJ392Rux zWeQB8tjis%L2i1>utoy`*1ORi;f0U0J!wN*oL}2wc5oNT8w=J$iV}9kyIrTE6Fr@h z?kSwb6~~{PH9XL&etouq|;2yS{0N=)GuK zegq;GmbQt$xn&{`jc}L0zi(W%l|+a$Z14aqqCW3gv(vnz zABD7#pB%ath0tJn6b!(Q*(Dall@kJy1>U6hH5Vo@$8C_)#XCW_~AILJiQ$00emy2tEFy13SI`WP95lW}#GU#yXSpIZ4tjy;bV ztqpQ7md4+_{jKZyGr#z6=7AH0+2Zq+NyYw~P1*kc*_7R%BX~C0d>iY(rtow7GmkwZ zNlQgvGi?Q@wpLt?sQ=5JD8}OD`KRS&_fM{* z=BbXX{>zp}E# zZfQd$6)K_o{gmSu;Fq)IO%5o8#KCsb`PDuLT1B{88%R^nbU_HcW5K$UeC?Db{T8cq}=?4)I8jUng z5K$OSg#?Ze%n%U^wAyzOJ|c{{amyS-2BL$S2z1(wfb@(9C%(DwsL+%>Q{C(Lj(GLW zd!TMFVG-=2J){S=fN68VwB1$s^?O~u`2d1w4V$b4@YAe*npf436IDCqASkNUmbgkn zO~=abJH&>vkS#dYDkiIvRJ%ZH=IWM;K!XbtIVSM{)S@huC^*y zB|E6sCE7?^)l4Ye9KpOc)22?4{6hMxi~9WZ##k*yv_O>|O{eoDL9dfVm7SC#YFol9 zcV*NBjcTYFc4$IJb8SGfQhfRRN~v8`qt+Y}a8Hb=`T&~ZroXX%rH-Y-T9LS0fVHMC z>UK`CpRzw97x~twHe|;``JHk_dL!%#>E~fUggZ%3^fO6MJUod{gc&5a#xG(Yn(xRg z&=gtG6|^N3DR78i=~2`?$d3su-ttKufjO8t*I1heXGrs!v2~=r!FH9@_!Y6sV;1qd+>o2Q;0S7; zCwxp6W(?H3B^8QqmlT46V{=3>oTUsHGV`p$VI_op;jANFW-R_zK?7 z!h&<|>PMwf2n}Ot>&h84=TqDSq!exFSC2gtg^q8~$Lvu6&GLsPV8T1nm226_E>4O$ zlBId)>BHeE%vpRHT$M?xp9)O$f{|Gc_u6Hmof`@#0?tQ!dcJig7{=y9`#?NPH1e~X zI)1KuNuHatRlq1D|l3in4Lt#LJT(9oEe(@~|80ou zCJsZrc@2ASQ9?hAq*ET#UKq@fv)PxG2%y>nRBiu11=w<52lLibJpDpOVjnk5XMhBkZVZ);%dUi?ZBT{*N2*^H!O)+Q zm~xL~WY)Bu6>6Jjcr);w#>O$M7kl2+FxzZH4rg+RZLYz71`RPa*020RZCN+Q+bKGf zaixnl>>!76V;7G&f4!5p%xD;cY6mZIe$+0$lfylR58Lj$AIkUOcE@e!`E2czE0&m| zRb@{f?^4gxtZQp*q<$T(YD?Sw@&Z*`S5ZYHUQE%#R!XSoRyL?&R;OPFi_k&)S3NKf zj`oj+JKLI^Zw@|Khq-%_Bld@N?T1umQ1i9JY&fJk0?(Ew;WtI}7A_y)e>D;Qq>BHN zh$S-l=wH$ThJOdi_WvUhTSZy>>Z{oKeU*_)jlbiT_fVBpz z;h|KXCJhBk#nNiDG@FB_P-`?bkPsA#o6BkTrp0u{`bDW^hV!ot66g)@`23wa_0Lvq zc+e_i-ER6M0k?GRN*UnQZ9^Ud7tDB!K!G|;F~csx1V`(6keS(z>GKxtY!Wu_8XqGr zaEG>|>j{tEHd+P8aj*Qg=U}<2i&wRcXcMmlg>n8}Cbi8N{ob@lo9Ey%tS&*sZd81d zTm$M$=T=f52*7ZJHPF%T za_nr~sQDu=AH}GN(&)t$1D@Wj+-P{RBow;JOagEU3Q>tbWH?Ya4iFvl<)8IrNe_25 zL1-;h6+zNM*+Eb`hzpg|I8u3Tan}ZiMN47QWSKJ%8}n$cIvlLFO3axaR(b`mK)G|z zb*PKZ=VQrZE>`z3dszVJ(nQA=u#z2S+N-b!>Fjj(7*VLM!|Uo$kbt1Lh+{X8YWAqG#0}?_M?#KjGN`^#v?+Ba8JV^GHYZ ze2H`D~73z6({gaQwdZ;Yf2vU9D<9|)uc zj<=k9XKbR9FM27%5uK3smiEdeq(0{Wm`0x=X?)57@VN}m=*@w~YGYs{#k*|ScFu<@ z&Q|=+(2%F)-15}|^lI8OW%J^`VN?GH;r9DI!P?HJX@a8#_JjE2R!yfxBRm(_48#H=KO0K-8$6-YRBvFm(N? zc-|R6riIS+V|TdwrsrX<_xYlIULPQ((TFHW1_P~5qJzp%aHz=d{rz;A@eSzh!f{Ms zO+ZfY%F)(owG)qeq&?rOzDH^L0lPGJPH@?NXJ1g5uxah**Oabb`AJKckpDHeXYZQN zYE=?$*XC_@jyAORQnU8=OpK_rDyVI3@3{HwZtZ*Ofm5T;Cmrt!3ex6|KCO38(r!xj zppD(9{2qP#v0S&eLbW}MHVS*sXOROIYR+~=33YUZcRA+LNRCJI+aC8q2|Ov_TuB|6^&dz!s2BR ztnnLqtP+YlVZ21;&mcpR#PDDDv}gK)-K>}wlV!x*#3i60Y!5s|zr0F7WV-XNaS4w$ zEbReiCC|td(a#}S)VRm#QZ&u+NDp|_8l-l{fIUPQ(M7$!y!fh9xS$U%;$EC`8!DJi z*>Il`p`YIvMESgYviMryx5sUABBv)5?7*NuVoi)^a&0AV&8065$4~tKF5UhNlK+O! zG5Vt~;uq^~eEt3w^f~=6e7;;(rM{L(#`-rutc@$Ms@33y&_D!7qZgySs2=xi zx5JPiBSY5Kl?I7CZUKEL9NR|lYQpI*XD)x4^5x%Gbc?Je2}I-#2sS%z zt0M{0SR^b;A$JfR=T}y?@>(5zEO_x@;^GIDWW-xgVSkitGzYM&Ap;>G{|eojUwVo+ z+R{hUp)s8Xrk*ibbYVw$xa16F#h|rZTMKo?z`0yLx78Tyj+n??Jr=58)}$pe^53iC z=v<&VmP9e}pkY4JWtEICqONL82}z`O1y6&MdWw<51g;FccfA7Bg7*j1blh6was_ z?YPhzg#ywyLfHtsbj;f35Ky^gLL9SJXcs*PSx&q?>g$56Y$g4e06# zPe@lPFPdikn}Q)fzH!Wncw+>KBi3|>=JK-o`k`rm_*!F)Rc`ud>>O42TwZ&<??7GFlA&3Tw%K!`kJau>NZiSP|iu9KFqEUDH~SfTBS3C7MNLL4*pZ)&c}9 zJV=UAlcqr}tEqHasK7z;-QbIf&tqzM6@3&sUDlVOw&Fp~l@&;2$7Bwt`Ijy8TxRCy zufq$z0FrAEhej+x5fKRsq{WB_K^=kS2(%V8*uId5yJb>D#TLj8nu6RwTBesVSLc92 zDpdyPpR{3cq1a>i7uH@y71^&NCAO$DAB4I|i{;#Z^E-5_I!m8KAG?UN;Lp%=`u5CG0}!+(X^9aZlMlO?^9B$F^=wGl&i~qYsbkvAK|_x+KL#KXcyrdW{%#+`-0h~_(TL#IC9i0 z4OzTadJB?s@E)-UU)K(IqEmkWX2XTk@a8_C8-c0@;M;NCl(#%7{3aREEBHhnlh(-8 z7OTztp2c2z$CkuHOH&G1D5~q`}oiB{BPhwGUfD0 ze_0UuL;gc+uKxtCs;+~w>Q~_YvU75NOKyvd>& z)qadxdxGGvcMz(g)#X5_OzD-DwO^$Ve`ll$3nK$X5*l z#b{6{7)WHvz<^px+fig!T}s`X723%0L?s3yL&Dj2G19a{NKkK*p9hkl@{&BUB_qrp zYDV}!rFp`Ef#7CM9v_gv7YXiw(xiGKgrVT1dqx(BJu+Eom2aa)sy$>6TzdxB_EJ2c z?WsAa?%?)PF^0W?M%Uvv%&>ra4gv5DbOsqC4?XgYSi}dxFNYx8@{S27g9#bvy}COo zbBA`hjn0OF^n{sb>RuY`$U~|N)CnxidGI~C^{%v%hV)bh3XnEyZ%QeYOp28UM~ECq zxI$NL$dJ79QQ2X)6VEHbZ2ZGmg|QdHU5BeKuw>4({NLADyL7`<+d&io-j|0bS0hE@ zxQQ6px0aQAugu=GV|B?a>w7>&2KWoKUs-iimL^r5nR27Esk`!k%VVq}TlNIeD{?Sw zLn)8E@b@KVbF*sV_6VV*1aa57OWc;$<)oV-Jj@4=W+TnEnVg6|eiPa6 zEGcK1mVpR?hOTCvAeUW=(Ulq~U~g93G+v%2iqj42p|B-RGSKvCBD#@iQtIaHh-TJ| zZCn*kdPhy1E7InDDNt>tGJW4BA~LZWcdcnV;yUNX8f`PnzDxRq#8bZR)Oh=>jPn0D zzNf6!@_qc}Q?$?W9F&_OXs-av3nj3KK7u;r3`;96+;=Qxfu>VzdNA!1xLU+WPg5Rb zS}3F^SMY{q5UM*#{TuYJvh>eu_P-Y}rgE~~kFU(3@ZZeA?cdBn`Y#jhUt}bjY?_{# z0!0)BM1%rBK?VSfA?YC@6$C;pQ&0ApNdxU zNYDuIcB?MWKFeP=+Ol8WJbZpYjDcXS5R;C@BLQZgp>wpM8v%GP+>RJNav%t<#dtu% zItdJyp-4jTIwOq;MDLdi<_P)Ay3Jwhifb`OGDDpqSFkooYANZ`r-(tU!#9jzU!7%E z=b*xI@_-FC`dfpni^~0^%+<#g{)B7Ps5~Y%%0%K$1boOxaIi2l3@e}Ad`M&{ID(s@v>b&6p?RQsZY3b7Gekse%1C6W zGX`ryI6>JN>j|Pj&wt#;!K`~q%~o__<{WOiHkHS?Xzen@+W4>*Iq3?*AVNBVMoU0A zN)OuZ6tZ!V(okxQ>4HJiL)>XV)tl)}Ms4%b6lrM=cEC#$%$qCAmD;~H+pP;Rho4rnv@aF05;rPdmys_O0 zQDP}qX_`thKT1`)hWk0%*(nnBF9n(^qjZn#S_HF0I1+gw?2XChjfSjuqS72R8%(j?%eMFzSU40zwgYQ z;Mp>M!KVF0x`wo6QXHsBToY}Tq${YxP0&wxlf>BEq%3H<7EBafvMApKN4;(AD>?~= zGK7#0Sq34OBy9}CODw8`x9VF|<+C8SvNpD@=Jj-H@bbvuMhivQQ}*8u9V%t)PX6}O z{xkmni;Q>wsF&Q3S4uT?mUjP(6m5$=}K~*3Ky}VNpbzM~&g6M~hC+r0| zVp&}E90Uh-L117klZqSfN?EId67!hQVOC-6*BKV(Xm2 zO;g(3aY&+sz7YhK&RsslZveodV+zL-5Aza64dj|yd-Dd$Uu;A13@<3Z^=mA+QW?gw z+^V)`D!nChSCm$Aq+(BTBS{cJuN)J$Cn!b;jn=#*JuS#AbcFhWsc*sXFDR)iQC?BDmK@;2 zNS_L)_h87pXLk(!b)IntUvqeoOIPEaF*_;!oSP#@hL?J0D^9S{z|=F zn#mkjNHX@C2x9i6i0gXInHNeq{@LxsXWi!W#-?EKsuSq_%f21FZRbAMHV^u2o;Uhb z)Hv<~j&Az6_JRA&h)sSEC#s0CJA8H!IhK>BjkD`KpD{ zEc(3NTzwIJ9UXC72;tLD?~h8}lcVo1f5YxiaQzo{0MKYsNMEo6{}*;1|AU>clIH)0 z3GJD3;+6#QVxZ>Lcm*}Be;hLj*yHapA!2a zBI4lza*#;koeQI#B>Y}4ix=2FOc1{$PlcrhB*Ds%bd3|7jFHQ`ySlxUiedURd~|fL z%x_DiAFw8Yy9%|@F?JeXSiYY`K(&da+2j$5fJLA4vTCZthL#v*b~Oqd$2RWdd5Q6n zma4EpZ;|#&1Qpb|IpPFM>!vy)7-AB#OhpjT?5D&mTOc}!jcMj2f3ag&ng1tT`qM#= z*_4G?bj(A6i!S`N^L0^-pa>|;B!*ZP;mbG+b9)79O~1<2R#Yi1V?>x$O4%c+RQ;$Q zt+p4VCIx0_lciNy>JR(&3VN8p$->DPrmQ)cI0~4>yWc~Vev4GHr=vxELb!3dhq8~A z)6-dkxi(~;>eD$(6HUx*-TA+Vl}l__zmalLeb3XPvCic7Q6l!1ks6@Lm&hwLG^^)~ z0uC+e#bl}rs)EocebimWVUl%?O-IX@e30!PBIg?1kDVbAGpF~)v9uG}^!VVYTP;;FY!DK5}rHt@FGirf>x_F@-x6?o+59M4Wh+-(ul+@<`&18qK+pFw>!-Fdx2 zy-82E+Dd!^l>=DShBWW2H+T~#JoJvd*qO4TBS-9Q)Kk9i%@5>OC?Xrn832%x9cCezr$}I^4$MD zZ}<}}|HYB$0-TW1momxvUv-k_|8VqwTJQfDZn(kbiva&EPx`}SqrkzaR8P$aQvp!f zi1ceCJ)$;0IU~L9CO;)LOJ@jdW%hq=AYVJ_Ff;^cz|;vQUqYn68`*z8{lDkh@V+Xc z`O+X!{i{Lp`ro-y)n31xHgJC1)WJ?F5vLPGDWM7xh$ILHN+A}CA~sY&Xq+OcL4<)M z#}d?TDS2DlUXgB07sI-J2-*TtDre5QT*~|o_{G`!?Z!?ZZYE-~=h^qhTmPo_^Q8Y9 zJ|M*qF7;N;X=BlPn2riL0XY4(La;B->Q)23YfN?f;v*(LgSWJUsk1ke&zFk#=k@49;O_6`fp{HL)nRDi8X5xhW2X^3Bf9w_7<7BA2Y ztfS_ZR+U#EKG*sHEplQk@E^=g-)hPA}Oe)1Z4cPkYkmys1x9ZWYE zmbIkRKsLDG@Tut6G&EF|#j?8*>X=Htg8~{Olz?L9df@==53elc91jPf%DD2g&XjYy z$zdn^CHqQ;4ozUtpoOKoYgjQMJyN~%@|#FUi$Z4U`+@pF*r7yVq#y_>3?a)zLP$dj zq#TLk%9$YOQlJ<=i1dz{bwoxm%V4D`1o|QnAKG`MweKvG|ygrr$t8mC0AxP)6hnieM|WB92_ z9X4z($sW+OgAhUOC?Ne@Nnlm0nr4+HGDIB#^im@l4r$JhEctpDC<&_hK!AqxW5usJ z4$6FpKskm8_c3>CtuaYbz$m{+Nlr4hubrZtxQV}~sQ4+!A~z3d9u&~?4sL*{{QN^| zX1nDjTv-5!bGZWKZN;xP1r~^845YWIUlLDcqcW^#)h+EQE)Lm%baJ>0g+6}r7X)qc zp@)dtP*m3`c&RQPmJ(2J>!%7BAm^PE_Kn%pV;G92s+N#oJrZ0p@{UGfgu4A~SnDq7 zG|ITDXxb$T0`}^#wBy)pq-Z?RuhDL;150zQ)qNqP<(%5Pn^yEkjd%*;#=c2Uv(L=* z7V`6?#+~Swtge=E>hD-%XSqbOK)fyb-?6Jy&3hVZRQ39Q21&l)@hi}+7})mXR6&Mz ztjo^z%xU>~_a91s$&8wto7v>OW9=ngB5&BE=?ka|0gCOKH!nUC#2ZtOb>27_h6mQ^ zYGHg=;FP!pMKXIBqFul+?B=>J z?lDF`0hR4D?5&EhE%Q?!zXf%X=mUL%%vT2n$Lyn?wbpO5qmPyf!pe6K2 zn*?LQoR+C93(_os=!kR%tt`_l!BQ}kYn9pe3ImHOVwmL@LklJeWZd?cEG&;DPF>I1 z0R#4!l{6$fv#(hfWtoGtaWKzd9diLTOEg^RpwE&xd`W(|>@~Y&WWt>Hex_l=S`d50 znBxr{!C(xG$P_WjIpniJv4)(Y8Z8MB?$oy-vuClXBRj{&UBY=|i7&Vop23nP zPmFD`$q;XwPv_=mNNi^ewT13t%|oeYxVMHzyqzk@U8d_f& zMB{l_KFRoPm8SpmauZtcpZREMiA5<+l9THOIy6d}Vy5D~)y#ssV{gNY1foS~Tc zuKX7I!-VK`M55^1r{dW26&H>|Th8-a&${#5$<5ba3pYrP6Wb5elXuP02mbUD%DwQ9`0qHA&2a9vn3G54X@7-L_oIz!doV9@9bE zEu#g7l!CfQS}wOE7~kxIMuyGwVW$F5X_M~$oWb#j0Wb}`Tq^-&~b!<_TUu2smY}vMul!dJUqxcqn z3ndCAYev*%DuEzXg{6`UE=@LujGGIy2bA{bXT|b-n|(hCSIMPW1Ms}htNl|v%z?Em z+~;>PKd(QJ{hZCse*ZdoHU|*fuaKz5SX>BZ7c$vfK^WG?+8a~AxY^%jIFOJ?{vi=s zXqa(W69zM9i81O4YwRIE%t0sd&=(f{B9KJyDC6KWF#r;rgnUdIwjW}ueQgScmo9KX z=Ghc$nk+~?drV(4Un)LUhVd~MCd)?mX-LmRe(kZSRoM6)~vI;6KlVNhQH3ir^FZu-`T`fXEY_w`XywL9OewqfP-){Gpj+JN%t>2MSg|hg7f{uobAe5conpNsB%%k1m6s-ag)(%Z8-xV-@Oc5!X1>8n zIbjEqC%_BygZ(t_69o`FztEy=o=cFv5;FA&u*3?%$P=E1zag4IP{uou zf;K;Hb6Dr^3N~J$E*`eUu`jNUmB8MOW;`0))7S3c#p}Q~XdF=9xt_t@9gNhLr+7tB z;(*^pc7dwDnT|{{;C~u4vBLfpr-M4?@8mDCp}q7R$ls{*D86Yd0xe2CZ7 z#JwG+>Z5iiuOc-?tV92kHukCVg5O(t(Z2d&0w;JStb(-Cl;{=Bi^yF2Gzx>(B2f%F zP~xc@-)_geM#&4pwQ^}|yE5es@9Og&JWV>)c4f;#1pQ-`cYEBLbqPR#LR3m2lF%$H0)uQtw*io}E08Q? z1rNz|lLpu*w_!o`BMK-u7ctF0_G9!%os&>V zLd4yi=6Aj4Uvs_l-2Gplx2XZJZYyJ0nX*h)mm4af5P1j-g$He1q&9RyX-}1IN%E8$Ahc0e2&fFR zg8XTKrued>T40ZD93Y=YS^pyFD`VLpY0`-+tTBr4?;xn|A z?6nUryg${D-g=T+2y-V)YZuM|L7p_BSz1;OsON-i#p*c8d)xVwq9v7BTD%w7wUtU3 zYcR)zr0pytMXv1S^@LbsRcm@C>u`T9C2!z4C;k^yH0Or6dv2gCO$)9Hg!?>@^@Djwo8S`U}s)mnl2B?p=m0(160)MhMaI=AZGi!!YFk|jZs7#CB^VkD!s$?b;k^% zTvbOD`-UoZP@BjQfnnS@^)xE%){<1_$&#$@GHOu9QtfqWL%W8I1YzprLO!Um*qv-u zL(PJykah)!HjB>`pk~RpuvEqA853oab4vZmIvP@rWD=4d7LgpBpYnu62PWS6v^8+0DkE~g|) zh!J{r@wWT+?Q8>N@MNrXR^-mHXqq~d!f9@BN7UVKX5)2c!J1Fid>a-dK-N@aoJ(ow zq(bbH$ftv!r>F_!E73JjdW7-wn(BG_r8lJnGHX_AF+F<|{1B`3sMOgD?U$Gqe6OUy*j;doR_cO(n8!T6fGR9R&Z0HgzaRp zLbFvy9eo5g&5njFXKk2eW3fVsHM)ss)PKG2IPo0}+(4|mJxoEOmUjepPe|>~+%HMm zS>7~l$)8r~iL`SV1ZU3+HNW;qt^f|I1I7w^Js^e0R#e-aapa&6@(2^CsVmAJ9?f4>=ZOYiy6F`r8N6wI*I%C|+Z)gs=IIeV5 zQGJ22LLWc;?eb^0{}2&Zl{d_TzlZ_MDo<}cN3Uk%Ow>gho%Y)5USy!bxrUS}4D{YeaeX$78C=vZz{csYH16E%ZT)E8HGs$-{c8d=c5PvyK@H z*4W)X1qm0ae-+#?Bs}kMMHxs9c~{?lrr{eLW`TJIA97sMde|8gJ{=DMT^pB(_k6-X&V6ANB@1uZxj4wz2cY#g991?LB~&N!f`G#)bXX>o+7MO8` z+2MGItlt{{AHtzc*gyc24K{|q0#X&r@VmUUGSNuj*RHT`g zfkyW4)+|ywmEIGoN^3$2kvnCU4{gJ;Fc(~;2j&bA^N$4$H((!@OeceXFG|fYyblQj zPdaE}LbYp%T+V7}ZH>X843}6i*^4f$@pNm#j>iT%kb{<2a+R$p@ApuS%2>BW)aEe^ zDe|T^LI^5@NobDb1t1nz9fQ730AIrTrGxn%D@L1)8eY-!@cU zKD{=z8B_z5u4mSgQN}!$PHhC{Hsy&CH{ppI7vZ5hgv>#{D~Tz0&>LI!5DSpTG~AwV z3OzC5x#?J%8ipp)OSwbRGpjUodqBmkKVSuH`zGuLapjzSb_?ij$NIP&*%wpkp!Q=a zcqj?~t}e}(6Ro(9?hv+TQVh%EJuN~J6aBU=#{IS~;@PApK6++vWhbxvps04 zeN&&F=695pD5Tv1t8%0>ic_R%-xEMoK+K_&MuvujNK!#kGmS7!{5DxpvvFsaBrPXx zs7jUlldf07Xu91hXFXiJl`Y);Z!l$#;P&a0j(-=uKzuW|0v;nca(wuxa)`^)R#=!j z1@Oi4?BnCuzAG}fgmnu1rBA*i#p5TeQ-^ugskhF?n+_94RGJfjD~fV**59w8O}O9M zTpc4dPT9h{5(n#?@m5!t8+&dky{H;%e5{e79c?pJl1A)IHD4(XmFnC88E1E?A%2-q zHsXm*(D9*gq9Ob7E8?l@=j(^4XvK6XYqf4W(%LN{tt|;SE;uv*^d=jYwc>l@>1Q(a zK6VS#W}BL7p@`n^hE3^c7H6xUR!jS4^orOP@>X-y^Z87$s?z0@^DlfeG3PDNnb%`2 zPDVgykcyc4huFXTUeT;AYKr6W>2*Hf3R0u9dwG@Z!vk!8dU5lvEI7Z5y@3!RXr&{? z>JhT+iFIE+(vmFTRAmM!9Oea7n}Jx8kZv^pW(D~dn5dGVAeh{{82x}~6P5IoMHy#aMM3-Ke@h8#zK`@Y21 zI7Y8GFgfiIdoY2)qrS03g2v)yp~w~+3WU`Qc*BAQi80EhM~ilgJcaEGs6W6QNm|pt zLm#L2xvMtMUAgVZ6MX>b(L}M@GgXA(R^f&uE#8<=i3)@f`rQw^oWbktp&{tQehkoM z(I;+CxtIk#?@GGGY`$%E4Y11DjoZ3eO?~A!CW*Q*Hu*MQ_tV*}pif8}?UG024S3S1 zu!06gv?49I(dP0TpF~HfEUi1DH3-#jkP0kA(32gXZ9h}U0E@lTAtjzGOf+^6Qw7l; zin=}~`3l093SXSm^awJisB@v;tHu0*Mj+hvp|*K)Va&3|i8vdtl%$QE`gp#~_zXtP zU0G_+hcesdX(OBW45IMe;`#&6nu~(Tn)^)7?mNe<0q(^PSL_oV2oLM>#=rwi&~726 zihS`{=mLq5amA^FS?A((bU^ytL1R5hQ0&hgG2@WSyB)FX)*~Z*Av(3Cv!WlXxo);s z@7RA;Hh*%&f7!#c;R^iMS9eYBYa!vUF55rkAu2B`4a|s=W7CeUx!%?4rz*dzm2Uz@KlZ%?4p!_JY2 zG)$k>lhhN`zbzw%MpxD^gz+1?*peb1!u-8t1@=M`10RFQ+dqTJKM4Fn zWu4!G5}rBdcE@%DKj13Q2uZCPFaZJQQepzlwjLoQ5Cn3m_Ia{KnPj?|?7o0^0Vbrl zfu}QsYts^!CNLQ5iXjDB=nR7WuwaS2rZ^apjfbg89WA#M zuz;~>zOZD}Spz7)t*6S@9TuEkRz_&g|Z!`txcPEaX+`LSU1Jn3n zi?@&SSe6=JgsCU}6~-w5(bj0U7Lr>kY8Hz|QiE12O%r(u%Qd>GQ{us8N9lrjZ2~~x zX*rmi7RM{tNT*yLCW{K}ILq--gBCdEPKF7y=JcAcG`LiJM@A{;sP~ugTd&>oZ!#41 zn3@e%xtipPMaoU}hjl7Bfa{~(49Ou@NRV~Mf{Au8Fr=^7?#b*<-#Ko-=M0--|8nBXSW8($W3mC3^p*|p8 zLbM8&IOW!cIuSzyY&Hto*g*{-()op&QJRexl~Si&)nRYd-bbAf<2`qe3D2Dl7d($# zM_C`giX)z^_o=z5Ps`yx9`Z2>)SHKXAQT%dU`wg)%;b(?2;wFm?jOBA>io(L080D3~;yE8A^HiAcBAqi8Hk2Ky7wn?NdJYfw zqRvv9DdC@a21VOv6DA?C=Rv-l@6Z2uU3F`}Lz#^arcvqD2)&M%`xc5%5QPQZQR(Fb zp=p8OxOlN2K3lFQa?13pMVAK~A*g)qPG53tmdxLlr!B|$WJb}soR_elm-iR+jZ&hf z5Q#l~r515n{h>b3?3WGfs5`A9@Tb7pdz||gBB^0i)S@4b1BOHv_WH4M%-J=8l<^sh zZ*9*h!Kf`Kf^qVm#r~(%$)^zMsc06guUuFnLJi+~UE8!)Z8kfMZx_?kP?fvFX9b}T z*_r83Ri2oiQ&e^k(h|MViv-4}l>$qNP#9!IB0YAYGkElcVyKo=PNp{VhaMdDXXwh-D}XeaBnlaD1sohHve1jB~HI(ca6NKM>) z`pi7yY$BeJ^%aT-Z)Qe4#@>>0yrLy?!hbO*K;&W?g5|8=8}590%0d0^G+AAm0Obhu zSp^P{BPUmBL|{EP7iI(7IbWiGqa`8)FX~?HwBLQoS78GM58Ggj5FzAPN_p{ z^}OSZx~pgh&{dTS=Yfh!d(omrfJMmPpV=ZMggAi>zf%)#YxYF`V%!XbHf8yQ-c`BF zg{|A;G6)&8HFxDDf6d`d=ocuQ-g{7})*Vh@@q~nV6?2^z{*C1)D24J*<^HKF2RQwX zjO0&kb-7f?F;V8OU<^{g;6@<=a6*FENOM;(EB7&>BZ9)SLZ+XMtkt<+3nQg}R4X^Y z#6U7JzgWWg^x3jR?ufv34_*pCc(9cgQhaaML`pQE)4i+EXR1A`A~B51@>6F){;YpD zYYJvblgy(1UI(6$PQHy#GM^=v(&~|pZ@T3;l$Rf;d!4JWDy{3DN-ZBV#-(qYy}o@2 zOGnAjIl1C}x2fBj+8b$2NcIw48`sh+sx{4w9f1}1**PRkDYY-{%HLbE~ zw^>&m3ug-;QD54y_ikyQ`qMtO)%3G!;elQ)N9eVRk?yt2D35-p>Ah5NU9i|5_3D23 zucXUn8}_%z?vkgFyAb_WX&IZJc<;*B3~{)p0Mzy5fXpTBAVQxD!>d#YJoYU+3X)CrS-HzfpU*U&EX5FPH+4R4%g@LUjd1q}{ zkHS#R*(cWFPvYlxrT^^eflcfo<7hL9P2zvpo&KI%PP4@h!s?eXAI6nKx(%gFz73a1 zo&zRHIZnqDVvu*!CTUt@fc^}HDxLFjWX4rAkow(#h6D4O`m1Nt_{CG*o=)E^48huJe56j}T0rC>3ojj;S;!I2RvKxBikpjT) zj1$R}tTq|a9-2!k($_5Oy&%si6=s zcg2ZabYpUTJMP1vJCJl<1)(ijdn%!wY9O0&b*uD?n#};h;`^!kYsd(~trHp38?BcMGsvq_t}Xa9(2q_$`%(1*+V-e%eaOzKG&l zV?beOz6lom+Op*c*lAJ}b;9yV&FM67cP|TWeUD_W(}}BJYGpH;?q2NOJcrlh*z&$Z z8WnfQy~%@-D(@R+_;~`#&nRy3LQ%=0eZZ=)Wpig5O?cyNID6PGxksrm>012qMUTdQ zcq}=2>=6oA>%j|)4Z0LB4Hp;aFU@q@^o)AN=KK?YWZ4gaC=k{v{=zBND9vn3#Z)6{ znp*g!TU1qj7#q@R)1x&xe50w)()8?f(%zttyWTfq_I};vFmBjPx2Vkt*!w;SEBkBo zxn<>bl9EaWT0|g4ve~{4lXO{QM&M2!Kj@-owr z6_#3`;OAWqK;d+*c73O*P+T?t5;Pz0iUJgJWum1YrQ-oMt3X${^r5b=Qch|{tg{s$ zYt-5==({LvAt4#hgm+lZZ{Foi*n0oR5bM94#NRzeMeSfx%13YU`f>g4G5#+DmJhBe z{fFz-zi3ldxc{}6^7_{}%2Gy}=x;a|d=#RsMB5ybqTVE(wb{I7QJuV57ZAHhse{v8WjR4ijn zPOwZ0TG3ao-+}&rGC$l{pksGJGJc#nEG*Dz6%aHrx7V~&tRGluEpOpHvvpGaUx zK$t;bVyB?@nV4#Tm;whUdw_~K|LOYvd#is3p&J9uv+(hBSn%=4^E)H|V>l8&W%=78 zn~!0|DBa00kJQ4zvSKw&IKf&4)rSynP}0(}*MC~qs9k4{?ihTxNbDB{x7*cfLQY;O zrFsqfJ3;kHhc*9n1i}N?tx1>dA(!peV|I2o@SJwzh$4VWi|&6NLQk-Q$_RJa*9Xa=`{5(S~9!3e<~}WPIfD$YA0vq%Aknh%5^oueltta zRv=xch#XrmJ@BE5w!GgZ8~j$f2N^l!F|zb1f6qYr;c)Fe;0kd~m1;BMDI4CfEOwdN zmR07{gBhDvimFs?h9=(aIWeIV>6NMO^(2FnNsWNXIezF!$xN895fz|Qp(VPPV|1pr zsW~dRMABG4Afy4lWATtR;^Ga=7T$*&2i&A!a;$zxJK>Lyh_%9)?1%d*j~XF4M`6{(gLTX^qR5&WIQ>R0K(kI9x*7ZOjpr zXdH4JdK_vTMNq_Cs#zG)>;+7K)2>Qdu)tYyW$dtCiz@^a06C}myy(jKRYpy-6=b+> zyp0C0efuDA>Y&lOWdfXn{$UACX~80Qzx;Oa#9Pb|>%r;b>?WBkNRdIMi{?e*>~P(j z?c^}7;VC$F++7h(Ul%+k8(ApM-rKyV<1ev_Ym(JB@&~nob{awLQ{#IWps0xz>UeQ``6CS& zLzK3*FP-HPhIr1u8?Rc#lHBBY?{brP>x75h_W<5nv~{7l7HUj~7!X4DdnH=d zfg!W(?-)7ajcK(87kS6;LBih47|%CgH}AAL4~3y$)?>Y1aGV8@tt_*aYd!GCxY1<9 ztcDMmq|(xiH<{=#lD^@n)`4ooxl+|C41u;1Z>r$B^(6XFmCRC2GLgEkOvvA+ImS2M z1S#8zuI^+==l={#LXiGtbVG7Xur<;FC;OePqR2B?_PU66S1KH3-LN##RM5LZ#r#d% z0wcH)rvJ@`ieoq<7N^0*h|xpVj?V4N`#*NR|IO;(`Tq1kpIi5FJ`?|$PPkXRwG^-b z;_$l%Z${R)R1*^olbB+E1Vm6OfAP-mKY|qZ+oeQgF~GP2x>N*+(C&a<`$dn^PBecRg%w z9X6W@+<cJv=X#sN0r+Ckq(GEKa?M2d3>5vlHdXo;7y9f5WyrqjK~n_8G^l7} z)0>4o4W6JC`Bvu5JZ1L)?@l)hyU#fZ#h_(<5hB4oatQ|A)mss=)TpjTXQfw$Uj~6# z(wK`m<(hNsLV91djxyX9N|0s4k{uvd+KedjHMO-Ci4{?1&VJnHbf3oq@G zw1<2>ZT)cRHVCLdIHDpbR;PTpXS3t-S8MtDDHVBfFfU(TWycHEeIeFm9@C?r7o6`N z7n^*#o1akQk{Lg;Mg|3p3>2!KC5%ktDG{cQR!eS>=~oJyyPD))eCW|+vwxbVV*ojS zA6>fIi4&!7!=YuvB8evW(|BY496CTuA{*dZu9~h_>gL#yK(imd_L``$W*r>5i_WNA zpTO7JGOOtvc6mjk9L8mDoFlXVfF*VubNu>!%i*9R-yda8(p}oyk>!D|P2T1#y1X

_?U85yD5D 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 { + String a(); + + int b(); + + int c(); + + long d(); + + List e(); + + Long f(); + + List g(); + + Date h(); + + void i(); + + void j(); + + V a(K var1); + + V a(K var1, f var2); + + void a(K var1, V var2); + + void b(K var1); + + boolean c(K var1); + + Iterator k(); + + List> l(); +} diff --git a/testData/obfuscated/a0.java b/testData/obfuscated/a0.java new file mode 100644 index 0000000..591434a --- /dev/null +++ b/testData/obfuscated/a0.java @@ -0,0 +1,18 @@ +import java.util.List; +import javax.xml.xpath.XPathExpressionException; + +public interface a0 { + a0 a(String var1) throws XPathExpressionException; + + List b(String var1) throws XPathExpressionException; + + a0[] c(String var1) throws XPathExpressionException; + + String d(String var1) throws XPathExpressionException; + + o e(String var1) throws XPathExpressionException; + + boolean f(String var1) throws XPathExpressionException; + + String a(); +} diff --git a/testData/obfuscated/a1.java b/testData/obfuscated/a1.java new file mode 100644 index 0000000..5d4c8a4 --- /dev/null +++ b/testData/obfuscated/a1.java @@ -0,0 +1,91 @@ +import java.util.ArrayList; +import java.util.List; +import javax.xml.xpath.XPathConstants; +import javax.xml.xpath.XPathExpressionException; +import javax.xml.xpath.XPathFactory; +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; + +public class a1 implements a0 { + private Node a; + private static final XPathFactory b = XPathFactory.newInstance(); + + public a1(Node var1) { + this.a = var1; + } + + public a0 a(String var1) throws XPathExpressionException { + Node var2 = (Node)b.newXPath().compile(var1).evaluate(this.a, XPathConstants.NODE); + + try { + if (var2 == null) { + return null; + } + } catch (XPathExpressionException var3) { + throw var3; + } + + return new a1(var2); + } + + public List b(String var1) throws XPathExpressionException { + int var5 = bc.e; + NodeList var2 = (NodeList)b.newXPath().compile(var1).evaluate(this.a, XPathConstants.NODESET); + ArrayList var3 = new ArrayList(var2.getLength()); + int var4 = 0; + + ArrayList var10000; + while(true) { + if (var4 < var2.getLength()) { + try { + var10000 = var3; + if (var5 != 0) { + break; + } + + var3.add(new a1(var2.item(var4))); + ++var4; + if (var5 == 0) { + continue; + } + } catch (XPathExpressionException var7) { + throw var7; + } + + int var6 = ap.c; + ++var6; + ap.c = var6; + } + + var10000 = var3; + break; + } + + return var10000; + } + + public a0[] c(String var1) throws XPathExpressionException { + List var2 = this.b(var1); + return (a0[])var2.toArray(new a0[var2.size()]); + } + + public String d(String param1) throws XPathExpressionException { + // $FF: Couldn't be decompiled + } + + public boolean f(String param1) throws XPathExpressionException { + // $FF: Couldn't be decompiled + } + + public String a() { + return this.a.getNodeName(); + } + + public String toString() { + return this.a(); + } + + public o e(String var1) throws XPathExpressionException { + return o.b((Object)this.d(var1)); + } +} diff --git a/testData/obfuscated/a2.java b/testData/obfuscated/a2.java new file mode 100644 index 0000000..343fa6a --- /dev/null +++ b/testData/obfuscated/a2.java @@ -0,0 +1,93 @@ +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.net.URL; +import org.xml.sax.EntityResolver; +import org.xml.sax.InputSource; +import org.xml.sax.SAXException; + +class a2 implements EntityResolver { + final bc a; + private static final String b; + + a2(bc var1) { + this.a = var1; + } + + public InputSource resolveEntity(String var1, String var2) throws SAXException, IOException { + URL var3 = new URL(var2); + if (b.equals(var3.getProtocol())) { + File var4 = new File(var3.getFile()); + + try { + if (var4.exists()) { + return new InputSource(new FileInputStream(var4)); + } + } catch (SAXException var5) { + throw var5; + } + } + + return null; + } + + static { + char[] var10000 = "\u001d2\u00049".toCharArray(); + int var10002 = var10000.length; + int var1 = 0; + char[] var10001 = var10000; + int var2 = var10002; + int var10003; + char[] var4; + if (var10002 <= 1) { + var4 = var10000; + var10003 = var1; + } else { + var10001 = var10000; + var2 = var10002; + if (var10002 <= var1) { + b = (new String(var10000)).intern(); + return; + } + + var4 = var10000; + var10003 = var1; + } + + while(true) { + char var10004 = var4[var10003]; + byte var10005; + switch(var1 % 5) { + case 0: + var10005 = 123; + break; + case 1: + var10005 = 91; + break; + case 2: + var10005 = 104; + break; + case 3: + var10005 = 92; + break; + default: + var10005 = 15; + } + + var4[var10003] = (char)(var10004 ^ var10005); + ++var1; + if (var2 == 0) { + var10003 = var2; + var4 = var10001; + } else { + if (var2 <= var1) { + b = (new String(var10001)).intern(); + return; + } + + var4 = var10001; + var10003 = var1; + } + } + } +} diff --git a/testData/obfuscated/a3.java b/testData/obfuscated/a3.java new file mode 100644 index 0000000..8bd1e44 --- /dev/null +++ b/testData/obfuscated/a3.java @@ -0,0 +1,2068 @@ +import java.util.concurrent.TimeUnit; + +public class a3 { + private static final a a; + private static final String[] b; + + private static int a(int param0, boolean param1) { + // $FF: Couldn't be decompiled + } + + public static void main(String[] var0) throws Exception { + boolean var2 = a7.b; + ax var1 = ax.a(); + System.out.println(b[4]); + a(42, false); + System.out.println(var1.e()); + System.out.println(b[5]); + a(42, true); + System.out.println(var1.e()); + a(); + System.out.println(b[6]); + Thread.sleep(5000L); + System.out.println(b[3]); + d.b(); + a(); + if (var2) { + int var3 = ap.c; + ++var3; + ap.c = var3; + } + + } + + private static void a() { + System.out.println(b[1] + a.c()); + System.out.println(b[0] + a.d()); + System.out.println(b[2] + a.f()); + } + + static { + int var1; + int var6; + char[] var8; + String[] var10000; + char[] var10003; + char[] var10004; + int var10005; + int var10006; + char var10007; + byte var10008; + label697: { + var10000 = new String[7]; + var10003 = "`eA\u0006\u0003\u0015".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label697; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[0] = (new String(var10004)).intern(); + var10003 = "f\u007f^\u0010\u0003\u0015".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + char[] var2; + int var3; + char[] var5; + char var9; + byte var10; + char[] var10001; + int var10002; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label740: { + var10000[1] = (new String(var10003)).intern(); + var10003 = "}\u007fPXkTbAO\u0019".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label740; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[2] = (new String(var10004)).intern(); + var10003 = "gcJ\u001bP[q\u0004\u0016XV~AX\\C\u007fG\u0001PZx\n[\u0017".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label808: { + var10000[3] = (new String(var10003)).intern(); + var10003 = "S\u007fF]\r\u0007?\u0004\u0002PA~K\u0000M\u0015uE\u0016QP,".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label808; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[4] = (new String(var10004)).intern(); + var10003 = "S\u007fF]\r\u0007?\u0004\u0002PA~\u0004\u0016XV~AO".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label876: { + var10000[5] = (new String(var10003)).intern(); + var10003 = "bwM\u0001P[q\u0004@\u0019FsG\u001aWQe\u0004\u0001V\u0015zA\u0001\u0019ZcVU\\[bV\u001c\\F6A\rI\\dA[\u0017\u001b".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label876; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[6] = (new String(var10004)).intern(); + b = var10000; + var2 = "s\u007fF\u001aWTuG\u001c".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + a = d.a((new String(var2)).intern(), 10, 2L, TimeUnit.SECONDS); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 53; + break; + case 1: + var10 = 22; + break; + case 2: + var10 = 36; + break; + case 3: + var10 = 117; + break; + default: + var10 = 57; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + a = d.a((new String(var10001)).intern(), 10, 2L, TimeUnit.SECONDS); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + } else { + if (var6 <= var1) { + label984: { + var10000[5] = (new String(var10004)).intern(); + var10003 = "bwM\u0001P[q\u0004@\u0019FsG\u001aWQe\u0004\u0001V\u0015zA\u0001\u0019ZcVU\\[bV\u001c\\F6A\rI\\dA[\u0017\u001b".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label984; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[6] = (new String(var10004)).intern(); + b = var10000; + var2 = "s\u007fF\u001aWTuG\u001c".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + a = d.a((new String(var2)).intern(), 10, 2L, TimeUnit.SECONDS); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 53; + break; + case 1: + var10 = 22; + break; + case 2: + var10 = 36; + break; + case 3: + var10 = 117; + break; + default: + var10 = 57; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + a = d.a((new String(var10001)).intern(), 10, 2L, TimeUnit.SECONDS); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + } + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + } else { + if (var6 <= var1) { + label1119: { + var10000[3] = (new String(var10004)).intern(); + var10003 = "S\u007fF]\r\u0007?\u0004\u0002PA~K\u0000M\u0015uE\u0016QP,".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label1119; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[4] = (new String(var10004)).intern(); + var10003 = "S\u007fF]\r\u0007?\u0004\u0002PA~\u0004\u0016XV~AO".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label1187: { + var10000[5] = (new String(var10003)).intern(); + var10003 = "bwM\u0001P[q\u0004@\u0019FsG\u001aWQe\u0004\u0001V\u0015zA\u0001\u0019ZcVU\\[bV\u001c\\F6A\rI\\dA[\u0017\u001b".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label1187; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[6] = (new String(var10004)).intern(); + b = var10000; + var2 = "s\u007fF\u001aWTuG\u001c".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + a = d.a((new String(var2)).intern(), 10, 2L, TimeUnit.SECONDS); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 53; + break; + case 1: + var10 = 22; + break; + case 2: + var10 = 36; + break; + case 3: + var10 = 117; + break; + default: + var10 = 57; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + a = d.a((new String(var10001)).intern(), 10, 2L, TimeUnit.SECONDS); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + } else { + if (var6 <= var1) { + label1295: { + var10000[5] = (new String(var10004)).intern(); + var10003 = "bwM\u0001P[q\u0004@\u0019FsG\u001aWQe\u0004\u0001V\u0015zA\u0001\u0019ZcVU\\[bV\u001c\\F6A\rI\\dA[\u0017\u001b".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label1295; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[6] = (new String(var10004)).intern(); + b = var10000; + var2 = "s\u007fF\u001aWTuG\u001c".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + a = d.a((new String(var2)).intern(), 10, 2L, TimeUnit.SECONDS); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 53; + break; + case 1: + var10 = 22; + break; + case 2: + var10 = 36; + break; + case 3: + var10 = 117; + break; + default: + var10 = 57; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + a = d.a((new String(var10001)).intern(), 10, 2L, TimeUnit.SECONDS); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + } + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + } + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + } else { + if (var6 <= var1) { + label333: { + var10000[1] = (new String(var10004)).intern(); + var10003 = "}\u007fPXkTbAO\u0019".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label333; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[2] = (new String(var10004)).intern(); + var10003 = "gcJ\u001bP[q\u0004\u0016XV~AX\\C\u007fG\u0001PZx\n[\u0017".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label377: { + var10000[3] = (new String(var10003)).intern(); + var10003 = "S\u007fF]\r\u0007?\u0004\u0002PA~K\u0000M\u0015uE\u0016QP,".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label377; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[4] = (new String(var10004)).intern(); + var10003 = "S\u007fF]\r\u0007?\u0004\u0002PA~\u0004\u0016XV~AO".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label445: { + var10000[5] = (new String(var10003)).intern(); + var10003 = "bwM\u0001P[q\u0004@\u0019FsG\u001aWQe\u0004\u0001V\u0015zA\u0001\u0019ZcVU\\[bV\u001c\\F6A\rI\\dA[\u0017\u001b".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label445; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[6] = (new String(var10004)).intern(); + b = var10000; + var2 = "s\u007fF\u001aWTuG\u001c".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + a = d.a((new String(var2)).intern(), 10, 2L, TimeUnit.SECONDS); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 53; + break; + case 1: + var10 = 22; + break; + case 2: + var10 = 36; + break; + case 3: + var10 = 117; + break; + default: + var10 = 57; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + a = d.a((new String(var10001)).intern(), 10, 2L, TimeUnit.SECONDS); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + } else { + if (var6 <= var1) { + label553: { + var10000[5] = (new String(var10004)).intern(); + var10003 = "bwM\u0001P[q\u0004@\u0019FsG\u001aWQe\u0004\u0001V\u0015zA\u0001\u0019ZcVU\\[bV\u001c\\F6A\rI\\dA[\u0017\u001b".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label553; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[6] = (new String(var10004)).intern(); + b = var10000; + var2 = "s\u007fF\u001aWTuG\u001c".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + a = d.a((new String(var2)).intern(), 10, 2L, TimeUnit.SECONDS); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 53; + break; + case 1: + var10 = 22; + break; + case 2: + var10 = 36; + break; + case 3: + var10 = 117; + break; + default: + var10 = 57; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + a = d.a((new String(var10001)).intern(), 10, 2L, TimeUnit.SECONDS); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + } + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + } else { + if (var6 <= var1) { + label172: { + var10000[3] = (new String(var10004)).intern(); + var10003 = "S\u007fF]\r\u0007?\u0004\u0002PA~K\u0000M\u0015uE\u0016QP,".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label172; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[4] = (new String(var10004)).intern(); + var10003 = "S\u007fF]\r\u0007?\u0004\u0002PA~\u0004\u0016XV~AO".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label216: { + var10000[5] = (new String(var10003)).intern(); + var10003 = "bwM\u0001P[q\u0004@\u0019FsG\u001aWQe\u0004\u0001V\u0015zA\u0001\u0019ZcVU\\[bV\u001c\\F6A\rI\\dA[\u0017\u001b".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label216; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[6] = (new String(var10004)).intern(); + b = var10000; + var2 = "s\u007fF\u001aWTuG\u001c".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + a = d.a((new String(var2)).intern(), 10, 2L, TimeUnit.SECONDS); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 53; + break; + case 1: + var10 = 22; + break; + case 2: + var10 = 36; + break; + case 3: + var10 = 117; + break; + default: + var10 = 57; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + a = d.a((new String(var10001)).intern(), 10, 2L, TimeUnit.SECONDS); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + } else { + if (var6 <= var1) { + label136: { + var10000[5] = (new String(var10004)).intern(); + var10003 = "bwM\u0001P[q\u0004@\u0019FsG\u001aWQe\u0004\u0001V\u0015zA\u0001\u0019ZcVU\\[bV\u001c\\F6A\rI\\dA[\u0017\u001b".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label136; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[6] = (new String(var10004)).intern(); + b = var10000; + var2 = "s\u007fF\u001aWTuG\u001c".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + a = d.a((new String(var2)).intern(), 10, 2L, TimeUnit.SECONDS); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 53; + break; + case 1: + var10 = 22; + break; + case 2: + var10 = 36; + break; + case 3: + var10 = 117; + break; + default: + var10 = 57; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + a = d.a((new String(var10001)).intern(), 10, 2L, TimeUnit.SECONDS); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + } + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + } + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 53; + break; + case 1: + var10008 = 22; + break; + case 2: + var10008 = 36; + break; + case 3: + var10008 = 117; + break; + default: + var10008 = 57; + } + } + } + } + } +} diff --git a/testData/obfuscated/a4.java b/testData/obfuscated/a4.java new file mode 100644 index 0000000..e0307cf --- /dev/null +++ b/testData/obfuscated/a4.java @@ -0,0 +1,164 @@ +import java.text.DateFormat; +import java.util.Date; +import java.util.logging.Level; + +@aa( + a = {ac.class} +) +public class a4 implements ac { + private static boolean a; + private static y b; + private static final String[] c; + + public static void main(String[] var0) throws Exception { + t.a.setLevel(Level.FINE); + t.a(); + a = true; + + while(true) { + Thread.sleep(10000L); + System.out.println(c[1] + ((ad)b.a()).a()); + } + } + + public void a() throws Exception { + try { + if (a) { + System.out.println(c[0] + DateFormat.getTimeInstance().format(new Date())); + } + + } catch (Exception var1) { + throw var1; + } + } + + static { + String[] var10000; + int var1; + int var2; + char[] var10003; + char[] var10004; + char[] var4; + int var10005; + int var10006; + char var10007; + byte var10008; + label51: { + var10000 = new String[2]; + var10003 = "f\u0019\u0016n-[\u001c\u0016n0AKS".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + break label51; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 50; + break; + case 1: + var10008 = 113; + break; + case 2: + var10008 = 115; + break; + case 3: + var10008 = 78; + break; + default: + var10008 = 89; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[0] = (new String(var10004)).intern(); + var10003 = "~\u0010\u0000:y[\u001f\u0005!:S\u0005\u001a!7\bQ".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + var10000[1] = (new String(var10003)).intern(); + c = var10000; + a = false; + b = y.a(ad.class); + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 50; + break; + case 1: + var10008 = 113; + break; + case 2: + var10008 = 115; + break; + case 3: + var10008 = 78; + break; + default: + var10008 = 89; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[1] = (new String(var10004)).intern(); + c = var10000; + a = false; + b = y.a(ad.class); + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } +} diff --git a/testData/obfuscated/a5.java b/testData/obfuscated/a5.java new file mode 100644 index 0000000..cad3502 --- /dev/null +++ b/testData/obfuscated/a5.java @@ -0,0 +1,921 @@ +import java.text.DecimalFormat; +import java.util.Iterator; +import java.util.concurrent.TimeUnit; + +public class a5 { + private static y a; + private static final String[] b; + + public static void main(String[] var0) throws Exception { + t.a(); + + while(true) { + System.out.println(b[1]); + Thread.sleep(TimeUnit.MILLISECONDS.convert(60L, TimeUnit.SECONDS)); + a(); + System.out.println(b[0]); + } + } + + private static void a() { + boolean var2 = a7.b; + Iterator var0 = ((ai)a.a()).a().iterator(); + + while(var0.hasNext()) { + al var1 = (al)var0.next(); + System.out.println(var1.a().a() + b[3] + var1.a().b() + "\n" + DecimalFormat.getNumberInstance().format(var1.d()) + " " + var1.a().c() + b[4] + DecimalFormat.getNumberInstance().format(var1.e()) + " " + var1.a().c() + b[2] + DecimalFormat.getNumberInstance().format(var1.f()) + " " + var1.a().c() + "\n"); + if (var2) { + break; + } + } + + } + + static { + String[] var10000 = new String[5]; + char[] var10003 = "`\u001dY>>`\u001dY>>`\u001dY>>`\u001dY>>`\u001dY>>`\u001dY>>`\u001dY>".toCharArray(); + int var10005 = var10003.length; + int var1 = 0; + char[] var10004 = var10003; + int var2 = var10005; + char[] var4; + int var10006; + char var10007; + byte var10008; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 77; + break; + case 1: + var10008 = 48; + break; + case 2: + var10008 = 116; + break; + case 3: + var10008 = 19; + break; + default: + var10008 = 19; + } + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + label316: { + var10000[0] = (new String(var10003)).intern(); + var10003 = "\u001aQ\u001dgz#WT|}(\u0010\u0019z}8D\u0011==c".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + break label316; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 77; + break; + case 1: + var10008 = 48; + break; + case 2: + var10008 = 116; + break; + case 3: + var10008 = 19; + break; + default: + var10008 = 19; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[1] = (new String(var10004)).intern(); + var10003 = "a\u00105etm\u0002@{)m".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 77; + break; + case 1: + var10008 = 48; + break; + case 2: + var10008 = 116; + break; + case 3: + var10008 = 19; + break; + default: + var10008 = 19; + } + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + label384: { + var10000[2] = (new String(var10003)).intern(); + var10003 = "m\u001dT".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + break label384; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 77; + break; + case 1: + var10008 = 48; + break; + case 2: + var10008 = 116; + break; + case 3: + var10008 = 19; + break; + default: + var10008 = 19; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[3] = (new String(var10004)).intern(); + var10003 = "a\u00105etc\u0010G#~$^N3".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + var10000[4] = (new String(var10003)).intern(); + b = var10000; + a = y.a(ai.class); + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 77; + break; + case 1: + var10008 = 48; + break; + case 2: + var10008 = 116; + break; + case 3: + var10008 = 19; + break; + default: + var10008 = 19; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[4] = (new String(var10004)).intern(); + b = var10000; + a = y.a(ai.class); + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var4 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 77; + break; + case 1: + var10008 = 48; + break; + case 2: + var10008 = 116; + break; + case 3: + var10008 = 19; + break; + default: + var10008 = 19; + } + } + + while(true) { + while(true) { + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + var10007 = var10004[var2]; + switch(var1 % 5) { + case 0: + var10008 = 77; + break; + case 1: + var10008 = 48; + break; + case 2: + var10008 = 116; + break; + case 3: + var10008 = 19; + break; + default: + var10008 = 19; + } + } else { + if (var2 <= var1) { + label492: { + var10000[2] = (new String(var10004)).intern(); + var10003 = "m\u001dT".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + break label492; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 77; + break; + case 1: + var10008 = 48; + break; + case 2: + var10008 = 116; + break; + case 3: + var10008 = 19; + break; + default: + var10008 = 19; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[3] = (new String(var10004)).intern(); + var10003 = "a\u00105etc\u0010G#~$^N3".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + var10000[4] = (new String(var10003)).intern(); + b = var10000; + a = y.a(ai.class); + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 77; + break; + case 1: + var10008 = 48; + break; + case 2: + var10008 = 116; + break; + case 3: + var10008 = 19; + break; + default: + var10008 = 19; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[4] = (new String(var10004)).intern(); + b = var10000; + a = y.a(ai.class); + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var4 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 77; + break; + case 1: + var10008 = 48; + break; + case 2: + var10008 = 116; + break; + case 3: + var10008 = 19; + break; + default: + var10008 = 19; + } + } + } + } + } + + var4 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 77; + break; + case 1: + var10008 = 48; + break; + case 2: + var10008 = 116; + break; + case 3: + var10008 = 19; + break; + default: + var10008 = 19; + } + } + + while(true) { + while(true) { + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + var10007 = var10004[var2]; + switch(var1 % 5) { + case 0: + var10008 = 77; + break; + case 1: + var10008 = 48; + break; + case 2: + var10008 = 116; + break; + case 3: + var10008 = 19; + break; + default: + var10008 = 19; + } + } else { + if (var2 <= var1) { + label129: { + var10000[0] = (new String(var10004)).intern(); + var10003 = "\u001aQ\u001dgz#WT|}(\u0010\u0019z}8D\u0011==c".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + break label129; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 77; + break; + case 1: + var10008 = 48; + break; + case 2: + var10008 = 116; + break; + case 3: + var10008 = 19; + break; + default: + var10008 = 19; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[1] = (new String(var10004)).intern(); + var10003 = "a\u00105etm\u0002@{)m".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 77; + break; + case 1: + var10008 = 48; + break; + case 2: + var10008 = 116; + break; + case 3: + var10008 = 19; + break; + default: + var10008 = 19; + } + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + label173: { + var10000[2] = (new String(var10003)).intern(); + var10003 = "m\u001dT".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + break label173; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 77; + break; + case 1: + var10008 = 48; + break; + case 2: + var10008 = 116; + break; + case 3: + var10008 = 19; + break; + default: + var10008 = 19; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[3] = (new String(var10004)).intern(); + var10003 = "a\u00105etc\u0010G#~$^N3".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + var10000[4] = (new String(var10003)).intern(); + b = var10000; + a = y.a(ai.class); + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 77; + break; + case 1: + var10008 = 48; + break; + case 2: + var10008 = 116; + break; + case 3: + var10008 = 19; + break; + default: + var10008 = 19; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[4] = (new String(var10004)).intern(); + b = var10000; + a = y.a(ai.class); + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var4 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 77; + break; + case 1: + var10008 = 48; + break; + case 2: + var10008 = 116; + break; + case 3: + var10008 = 19; + break; + default: + var10008 = 19; + } + } + + while(true) { + while(true) { + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + var10007 = var10004[var2]; + switch(var1 % 5) { + case 0: + var10008 = 77; + break; + case 1: + var10008 = 48; + break; + case 2: + var10008 = 116; + break; + case 3: + var10008 = 19; + break; + default: + var10008 = 19; + } + } else { + if (var2 <= var1) { + label93: { + var10000[2] = (new String(var10004)).intern(); + var10003 = "m\u001dT".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + break label93; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 77; + break; + case 1: + var10008 = 48; + break; + case 2: + var10008 = 116; + break; + case 3: + var10008 = 19; + break; + default: + var10008 = 19; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[3] = (new String(var10004)).intern(); + var10003 = "a\u00105etc\u0010G#~$^N3".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + var10000[4] = (new String(var10003)).intern(); + b = var10000; + a = y.a(ai.class); + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 77; + break; + case 1: + var10008 = 48; + break; + case 2: + var10008 = 116; + break; + case 3: + var10008 = 19; + break; + default: + var10008 = 19; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[4] = (new String(var10004)).intern(); + b = var10000; + a = y.a(ai.class); + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var4 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 77; + break; + case 1: + var10008 = 48; + break; + case 2: + var10008 = 116; + break; + case 3: + var10008 = 19; + break; + default: + var10008 = 19; + } + } + } + } + } + + var4 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 77; + break; + case 1: + var10008 = 48; + break; + case 2: + var10008 = 116; + break; + case 3: + var10008 = 19; + break; + default: + var10008 = 19; + } + } + } + } + } +} diff --git a/testData/obfuscated/a6.java b/testData/obfuscated/a6.java new file mode 100644 index 0000000..f935895 --- /dev/null +++ b/testData/obfuscated/a6.java @@ -0,0 +1,5 @@ +public class a6 { + public static void main(String[] param0) throws Exception { + // $FF: Couldn't be decompiled + } +} diff --git a/testData/obfuscated/a7.java b/testData/obfuscated/a7.java new file mode 100644 index 0000000..3e6e15f --- /dev/null +++ b/testData/obfuscated/a7.java @@ -0,0 +1,139 @@ +import java.io.FileInputStream; +import java.io.InputStream; + +public class a7 { + public static boolean b; + private static final String[] a; + + public static void main(String[] var0) throws Exception { + bc var1 = new bc(); + var1.a(a[0], new a8()); + var1.a((InputStream)(new FileInputStream(a[1]))); + } + + static { + String[] var10000; + int var1; + int var2; + char[] var10003; + char[] var10004; + char[] var4; + int var10005; + int var10006; + char var10007; + byte var10008; + label51: { + var10000 = new String[2]; + var10003 = "Z7wN".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + break label51; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 52; + break; + case 1: + var10008 = 88; + break; + case 2: + var10008 = 19; + break; + case 3: + var10008 = 43; + break; + default: + var10008 = 10; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[0] = (new String(var10004)).intern(); + var10003 = "G*p\u0004oL9~[fQ+<_oG,=SgX".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + var10000[1] = (new String(var10003)).intern(); + a = var10000; + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 52; + break; + case 1: + var10008 = 88; + break; + case 2: + var10008 = 19; + break; + case 3: + var10008 = 43; + break; + default: + var10008 = 10; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[1] = (new String(var10004)).intern(); + a = var10000; + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } +} diff --git a/testData/obfuscated/a8.java b/testData/obfuscated/a8.java new file mode 100644 index 0000000..7e8744a --- /dev/null +++ b/testData/obfuscated/a8.java @@ -0,0 +1,405 @@ +final class a8 implements ay { + private static final String[] a; + + public void a(a0 param1) { + // $FF: Couldn't be decompiled + } + + static { + String[] var10000; + int var1; + int var2; + char[] var10003; + char[] var10004; + char[] var4; + int var10005; + int var10006; + char var10007; + byte var10008; + label115: { + var10000 = new String[4]; + var10003 = "(\u000f7O".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + break label115; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 70; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 90; + break; + case 3: + var10008 = 42; + break; + default: + var10008 = 64; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[0] = (new String(var10004)).intern(); + var10003 = "4\u000b)E54\r?Yo4\u000b)E54\r?q\u00002\u0017*O}a\u001a?Y4a3".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 70; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 90; + break; + case 3: + var10008 = 42; + break; + default: + var10008 = 64; + } + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + label158: { + var10000[1] = (new String(var10003)).intern(); + var10003 = "6\u001c3I%".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + break label158; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 70; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 90; + break; + case 3: + var10008 = 42; + break; + default: + var10008 = 64; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[2] = (new String(var10004)).intern(); + var10003 = "4\u000b)E54\r?Yo4\u000b)E54\r?q\u00002\u0017*O}a\u001a?Y4a3".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + var10000[3] = (new String(var10003)).intern(); + a = var10000; + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 70; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 90; + break; + case 3: + var10008 = 42; + break; + default: + var10008 = 64; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[3] = (new String(var10004)).intern(); + a = var10000; + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var4 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 70; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 90; + break; + case 3: + var10008 = 42; + break; + default: + var10008 = 64; + } + } + + while(true) { + while(true) { + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + var10007 = var10004[var2]; + switch(var1 % 5) { + case 0: + var10008 = 70; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 90; + break; + case 3: + var10008 = 42; + break; + default: + var10008 = 64; + } + } else { + if (var2 <= var1) { + label79: { + var10000[1] = (new String(var10004)).intern(); + var10003 = "6\u001c3I%".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + break label79; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 70; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 90; + break; + case 3: + var10008 = 42; + break; + default: + var10008 = 64; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[2] = (new String(var10004)).intern(); + var10003 = "4\u000b)E54\r?Yo4\u000b)E54\r?q\u00002\u0017*O}a\u001a?Y4a3".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + var10000[3] = (new String(var10003)).intern(); + a = var10000; + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 70; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 90; + break; + case 3: + var10008 = 42; + break; + default: + var10008 = 64; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[3] = (new String(var10004)).intern(); + a = var10000; + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var4 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 70; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 90; + break; + case 3: + var10008 = 42; + break; + default: + var10008 = 64; + } + } + } + } + } +} diff --git a/testData/obfuscated/a9.java b/testData/obfuscated/a9.java new file mode 100644 index 0000000..017a83b --- /dev/null +++ b/testData/obfuscated/a9.java @@ -0,0 +1,15 @@ +public class a9 extends RuntimeException { + private static final long serialVersionUID = 1180433275280350911L; + + public a9(String var1, Throwable var2) { + super(var1, var2); + } + + public a9(Throwable var1) { + super(var1); + } + + public a9(String var1) { + super(var1); + } +} diff --git a/testData/obfuscated/a_.java b/testData/obfuscated/a_.java new file mode 100644 index 0000000..a1fd30c --- /dev/null +++ b/testData/obfuscated/a_.java @@ -0,0 +1,8 @@ +class a_ extends RuntimeException { + private static final long serialVersionUID = -7454219131982518216L; + final bc a; + + a_(bc var1) { + this.a = var1; + } +} diff --git a/testData/obfuscated/aa.java b/testData/obfuscated/aa.java new file mode 100644 index 0000000..646a3d3 --- /dev/null +++ b/testData/obfuscated/aa.java @@ -0,0 +1,10 @@ +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Retention(RetentionPolicy.RUNTIME) +@Target({ElementType.TYPE}) +public @interface aa { + Class[] a(); +} diff --git a/testData/obfuscated/ab.java b/testData/obfuscated/ab.java new file mode 100644 index 0000000..935ee07 --- /dev/null +++ b/testData/obfuscated/ab.java @@ -0,0 +1,43 @@ +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +public class ab implements u { + private List a = new ArrayList(); + + public void a(Class param1) throws Exception { + // $FF: Couldn't be decompiled + } + + public void a() throws Exception { + int var3 = y.d; + Iterator var1 = this.a.iterator(); + + while(true) { + if (var1.hasNext()) { + Object var2 = var1.next(); + + try { + v.a(var2); + if (var3 != 0) { + break; + } + + if (var3 == 0) { + continue; + } + } catch (Exception var5) { + throw var5; + } + + int var4 = ap.c; + ++var4; + ap.c = var4; + } + + this.a.clear(); + break; + } + + } +} diff --git a/testData/obfuscated/ac.java b/testData/obfuscated/ac.java new file mode 100644 index 0000000..b9054d9 --- /dev/null +++ b/testData/obfuscated/ac.java @@ -0,0 +1,3 @@ +public interface ac { + void a() throws Exception; +} diff --git a/testData/obfuscated/ad.java b/testData/obfuscated/ad.java new file mode 100644 index 0000000..08b141e --- /dev/null +++ b/testData/obfuscated/ad.java @@ -0,0 +1,3 @@ +public interface ad { + String a(); +} diff --git a/testData/obfuscated/ae.java b/testData/obfuscated/ae.java new file mode 100644 index 0000000..4dd6fc4 --- /dev/null +++ b/testData/obfuscated/ae.java @@ -0,0 +1,51 @@ +import java.text.DateFormat; +import java.util.Date; +import java.util.List; +import java.util.Timer; +import java.util.concurrent.locks.ReentrantLock; + +@aa( + a = {ad.class} +) +public class ae implements ad { + @x( + a = ac.class + ) + private List a; + private long b = 0L; + private Timer c; + private ReentrantLock d = new ReentrantLock(); + public static boolean e; + + public ae() { + this.a(); + } + + public void a() { + // $FF: Couldn't be decompiled + } + + public void b() { + // $FF: Couldn't be decompiled + } + + public String a() { + try { + if (this.b == 0L) { + return "-"; + } + } catch (a_ var1) { + throw var1; + } + + return DateFormat.getDateTimeInstance().format(new Date(this.b)); + } + + static List a(ae var0) { + return var0.a; + } + + static long a(ae var0, long var1) { + return var0.b = var1; + } +} diff --git a/testData/obfuscated/af.java b/testData/obfuscated/af.java new file mode 100644 index 0000000..0326ac8 --- /dev/null +++ b/testData/obfuscated/af.java @@ -0,0 +1,3 @@ +// $FF: synthetic class +class af { +} diff --git a/testData/obfuscated/ag.java b/testData/obfuscated/ag.java new file mode 100644 index 0000000..73eb9ae --- /dev/null +++ b/testData/obfuscated/ag.java @@ -0,0 +1,32 @@ +public class ag { + private long a = 0L; + private long[] b = new long[100]; + private int c = 0; + private int d = 0; + + public void a(long param1) { + // $FF: Couldn't be decompiled + } + + public double a() { + try { + if (this.d == 0) { + return 0.0D; + } + } catch (a_ var4) { + throw var4; + } + + double var1 = 0.0D; + + for(int var3 = 0; var3 <= this.d; ++var3) { + var1 += (double)this.b[var3]; + } + + return var1 / (double)this.d; + } + + public long b() { + return this.a; + } +} diff --git a/testData/obfuscated/ah.java b/testData/obfuscated/ah.java new file mode 100644 index 0000000..f18b012 --- /dev/null +++ b/testData/obfuscated/ah.java @@ -0,0 +1,28 @@ +import java.util.concurrent.TimeUnit; + +public class ah { + private volatile long a = -1L; + private volatile long b = 0L; + + public void a() { + // $FF: Couldn't be decompiled + } + + public double a(TimeUnit var1) { + return (double)(this.b / this.b(var1)); + } + + public long b() { + return this.b; + } + + public long b(TimeUnit var1) { + long var2 = System.currentTimeMillis() - this.a; + return TimeUnit.MILLISECONDS.convert(var2, var1); + } + + public void c() { + this.a = System.currentTimeMillis(); + this.b = 0L; + } +} diff --git a/testData/obfuscated/ai.java b/testData/obfuscated/ai.java new file mode 100644 index 0000000..b6b3516 --- /dev/null +++ b/testData/obfuscated/ai.java @@ -0,0 +1,39 @@ +import java.util.Collection; +import java.util.Collections; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + +@aa( + a = {ac.class, ai.class} +) +public class ai implements ac { + @x( + a = am.class + ) + private List a; + private static Map b = Collections.synchronizedMap(new LinkedHashMap()); + + public void a() throws Exception { + boolean var3 = an.k; + Iterator var1 = this.a.iterator(); + + while(var1.hasNext()) { + am var2 = (am)var1.next(); + var2.a(new j(this)); + if (var3) { + break; + } + } + + } + + public Collection a() { + return b.values(); + } + + static Map b() { + return b; + } +} diff --git a/testData/obfuscated/aj.java b/testData/obfuscated/aj.java new file mode 100644 index 0000000..4ced9b7 --- /dev/null +++ b/testData/obfuscated/aj.java @@ -0,0 +1,8595 @@ +import java.io.BufferedReader; +import java.io.File; +import java.io.FileReader; +import java.io.IOException; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.Map.Entry; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +@aa( + a = {am.class} +) +public class aj implements am { + private static final Pattern a; + private Map b; + private long c; + private Map> d; + private long e; + private static final long f = 10L; + private static final Pattern g; + private static final String[] h; + + private Map a() throws IOException { + LinkedHashMap var1 = new LinkedHashMap(); + File var2 = new File(h[2]); + + try { + if (!var2.exists()) { + return var1; + } + } catch (IOException var12) { + throw var12; + } + + BufferedReader var3 = new BufferedReader(new FileReader(var2)); + + try { + for(String var4 = var3.readLine(); var4 != null; var4 = var3.readLine()) { + Matcher var5 = a.matcher(var4); + + try { + if (var5.matches()) { + var1.put(var5.group(1), Long.parseLong(var5.group(2))); + } + } catch (IOException var10) { + throw var10; + } + } + } finally { + var3.close(); + } + + return var1; + } + + private Map> b() throws IOException { + LinkedHashMap var1 = new LinkedHashMap(); + File var2 = new File(h[0]); + + try { + if (!var2.exists()) { + return var1; + } + } catch (IOException var12) { + throw var12; + } + + BufferedReader var3 = new BufferedReader(new FileReader(var2)); + + try { + for(String var4 = var3.readLine(); var4 != null; var4 = var3.readLine()) { + Matcher var5 = g.matcher(var4); + + try { + if (var5.matches()) { + var1.put(var5.group(1), new n(Long.parseLong(var5.group(2)), Long.parseLong(var5.group(3)))); + } + } catch (IOException var10) { + throw var10; + } + } + } finally { + var3.close(); + } + + return var1; + } + + public void a(k var1) { + this.b(var1); + this.c(var1); + } + + protected void b(k var1) { + try { + Map var2 = this.a(); + long var3 = System.currentTimeMillis() - this.c; + this.c = System.currentTimeMillis(); + if (this.b != null) { + Iterator var5 = var2.entrySet().iterator(); + + while(var5.hasNext()) { + Entry var6 = (Entry)var5.next(); + Long var7 = (Long)this.b.get(var6.getKey()); + if (var7 != null) { + double var8 = (double)((((Long)var6.getValue()).longValue() - var7.longValue()) * 10L) / (double)var3; + var1.a((Object)(new ar(h[1], (String)var6.getKey(), "%", var8 * 100.0D))); + } + } + } + + this.b = var2; + } catch (IOException var10) { + var10.printStackTrace(); + } + + } + + protected void c(k param1) { + // $FF: Couldn't be decompiled + } + + static { + String[] var10000 = new String[9]; + char[] var10003 = "h!\"+hh597`4%10x".toCharArray(); + int var10005 = var10003.length; + int var1 = 0; + char[] var10004 = var10003; + int var6 = var10005; + char[] var2; + int var3; + char[] var5; + char[] var8; + char var9; + byte var10; + char[] var10001; + int var10002; + int var10006; + char var10007; + byte var10008; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label3117: { + var10000[0] = (new String(var10003)).intern(); + var10003 = "\u0014\b\u0003".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label3117; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[1] = (new String(var10004)).intern(); + var10003 = "h!\"+hh\"$%\u007f".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label3185: { + var10000[2] = (new String(var10003)).intern(); + var10003 = "j#5%o4".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label3185; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[3] = (new String(var10004)).intern(); + var10003 = "v~#".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label3253: { + var10000[4] = (new String(var10003)).intern(); + var10003 = "j&\"-\u007f\"\"".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label3253; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[5] = (new String(var10004)).intern(); + var10003 = "\u0014\b\u0003".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label3321: { + var10000[6] = (new String(var10003)).intern(); + var10003 = "v~#".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label3321; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[7] = (new String(var10004)).intern(); + var10003 = "\u0014\b\u0003".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label3389: { + var10000[8] = (new String(var10003)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label3389; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label3497: { + var10000[8] = (new String(var10004)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label3497; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label3632: { + var10000[6] = (new String(var10004)).intern(); + var10003 = "v~#".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label3632; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[7] = (new String(var10004)).intern(); + var10003 = "\u0014\b\u0003".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label3700: { + var10000[8] = (new String(var10003)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label3700; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label3808: { + var10000[8] = (new String(var10004)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label3808; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label3970: { + var10000[4] = (new String(var10004)).intern(); + var10003 = "j&\"-\u007f\"\"".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label3970; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[5] = (new String(var10004)).intern(); + var10003 = "\u0014\b\u0003".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label4038: { + var10000[6] = (new String(var10003)).intern(); + var10003 = "v~#".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label4038; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[7] = (new String(var10004)).intern(); + var10003 = "\u0014\b\u0003".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label4106: { + var10000[8] = (new String(var10003)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label4106; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label4214: { + var10000[8] = (new String(var10004)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label4214; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label4349: { + var10000[6] = (new String(var10004)).intern(); + var10003 = "v~#".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label4349; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[7] = (new String(var10004)).intern(); + var10003 = "\u0014\b\u0003".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label4417: { + var10000[8] = (new String(var10003)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label4417; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label4525: { + var10000[8] = (new String(var10004)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label4525; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label4714: { + var10000[2] = (new String(var10004)).intern(); + var10003 = "j#5%o4".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label4714; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[3] = (new String(var10004)).intern(); + var10003 = "v~#".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label4782: { + var10000[4] = (new String(var10003)).intern(); + var10003 = "j&\"-\u007f\"\"".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label4782; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[5] = (new String(var10004)).intern(); + var10003 = "\u0014\b\u0003".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label4850: { + var10000[6] = (new String(var10003)).intern(); + var10003 = "v~#".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label4850; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[7] = (new String(var10004)).intern(); + var10003 = "\u0014\b\u0003".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label4918: { + var10000[8] = (new String(var10003)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label4918; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label5026: { + var10000[8] = (new String(var10004)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label5026; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label5161: { + var10000[6] = (new String(var10004)).intern(); + var10003 = "v~#".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label5161; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[7] = (new String(var10004)).intern(); + var10003 = "\u0014\b\u0003".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label5229: { + var10000[8] = (new String(var10003)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label5229; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label5337: { + var10000[8] = (new String(var10004)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label5337; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label5499: { + var10000[4] = (new String(var10004)).intern(); + var10003 = "j&\"-\u007f\"\"".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label5499; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[5] = (new String(var10004)).intern(); + var10003 = "\u0014\b\u0003".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label5567: { + var10000[6] = (new String(var10003)).intern(); + var10003 = "v~#".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label5567; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[7] = (new String(var10004)).intern(); + var10003 = "\u0014\b\u0003".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label5635: { + var10000[8] = (new String(var10003)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label5635; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label5743: { + var10000[8] = (new String(var10004)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label5743; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label5878: { + var10000[6] = (new String(var10004)).intern(); + var10003 = "v~#".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label5878; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[7] = (new String(var10004)).intern(); + var10003 = "\u0014\b\u0003".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label5946: { + var10000[8] = (new String(var10003)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label5946; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label6054: { + var10000[8] = (new String(var10004)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label6054; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label1509: { + var10000[0] = (new String(var10004)).intern(); + var10003 = "\u0014\b\u0003".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label1509; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[1] = (new String(var10004)).intern(); + var10003 = "h!\"+hh\"$%\u007f".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label1553: { + var10000[2] = (new String(var10003)).intern(); + var10003 = "j#5%o4".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label1553; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[3] = (new String(var10004)).intern(); + var10003 = "v~#".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label1621: { + var10000[4] = (new String(var10003)).intern(); + var10003 = "j&\"-\u007f\"\"".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label1621; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[5] = (new String(var10004)).intern(); + var10003 = "\u0014\b\u0003".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label1689: { + var10000[6] = (new String(var10003)).intern(); + var10003 = "v~#".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label1689; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[7] = (new String(var10004)).intern(); + var10003 = "\u0014\b\u0003".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label1757: { + var10000[8] = (new String(var10003)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label1757; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label1865: { + var10000[8] = (new String(var10004)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label1865; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label2000: { + var10000[6] = (new String(var10004)).intern(); + var10003 = "v~#".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label2000; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[7] = (new String(var10004)).intern(); + var10003 = "\u0014\b\u0003".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label2068: { + var10000[8] = (new String(var10003)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label2068; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label2176: { + var10000[8] = (new String(var10004)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label2176; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label2338: { + var10000[4] = (new String(var10004)).intern(); + var10003 = "j&\"-\u007f\"\"".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label2338; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[5] = (new String(var10004)).intern(); + var10003 = "\u0014\b\u0003".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label2406: { + var10000[6] = (new String(var10003)).intern(); + var10003 = "v~#".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label2406; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[7] = (new String(var10004)).intern(); + var10003 = "\u0014\b\u0003".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label2474: { + var10000[8] = (new String(var10003)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label2474; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label2582: { + var10000[8] = (new String(var10004)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label2582; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label2717: { + var10000[6] = (new String(var10004)).intern(); + var10003 = "v~#".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label2717; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[7] = (new String(var10004)).intern(); + var10003 = "\u0014\b\u0003".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label2785: { + var10000[8] = (new String(var10003)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label2785; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label2893: { + var10000[8] = (new String(var10004)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label2893; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label739: { + var10000[2] = (new String(var10004)).intern(); + var10003 = "j#5%o4".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label739; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[3] = (new String(var10004)).intern(); + var10003 = "v~#".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label783: { + var10000[4] = (new String(var10003)).intern(); + var10003 = "j&\"-\u007f\"\"".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label783; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[5] = (new String(var10004)).intern(); + var10003 = "\u0014\b\u0003".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label851: { + var10000[6] = (new String(var10003)).intern(); + var10003 = "v~#".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label851; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[7] = (new String(var10004)).intern(); + var10003 = "\u0014\b\u0003".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label919: { + var10000[8] = (new String(var10003)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label919; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label1027: { + var10000[8] = (new String(var10004)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label1027; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label1162: { + var10000[6] = (new String(var10004)).intern(); + var10003 = "v~#".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label1162; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[7] = (new String(var10004)).intern(); + var10003 = "\u0014\b\u0003".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label1230: { + var10000[8] = (new String(var10003)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label1230; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label1338: { + var10000[8] = (new String(var10004)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label1338; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label375: { + var10000[4] = (new String(var10004)).intern(); + var10003 = "j&\"-\u007f\"\"".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label375; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[5] = (new String(var10004)).intern(); + var10003 = "\u0014\b\u0003".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label419: { + var10000[6] = (new String(var10003)).intern(); + var10003 = "v~#".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label419; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[7] = (new String(var10004)).intern(); + var10003 = "\u0014\b\u0003".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label487: { + var10000[8] = (new String(var10003)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label487; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label595: { + var10000[8] = (new String(var10004)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label595; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label214: { + var10000[6] = (new String(var10004)).intern(); + var10003 = "v~#".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + break label214; + } + + var8 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var8[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + } else { + if (var6 <= var1) { + break; + } + + var8 = var10004; + var10006 = var1; + } + } + } + + var10000[7] = (new String(var10004)).intern(); + var10003 = "\u0014\b\u0003".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var6 = var10005; + if (var10005 <= 1) { + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + var10004 = var10003; + var6 = var10005; + if (var10005 <= var1) { + label178: { + var10000[8] = (new String(var10003)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label178; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + + while(true) { + while(true) { + var8[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var6 == 0) { + var10006 = var6; + var8 = var10004; + var10007 = var10004[var6]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } else { + if (var6 <= var1) { + label258: { + var10000[8] = (new String(var10004)).intern(); + h = var10000; + var2 = "o2 1W#zyd o\r4o\"iz".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + break label258; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + break; + } + + var5 = var10001; + var6 = var1; + } + } + } + + a = Pattern.compile((new String(var10001)).intern()); + var2 = "gz\f gz\f gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray(); + var10002 = var2.length; + var1 = 0; + var10001 = var2; + var3 = var10002; + if (var10002 <= 1) { + var5 = var2; + var6 = var1; + } else { + var10001 = var2; + var3 = var10002; + if (var10002 <= var1) { + g = Pattern.compile((new String(var2)).intern()); + return; + } + + var5 = var2; + var6 = var1; + } + + while(true) { + var9 = var5[var6]; + switch(var1 % 5) { + case 0: + var10 = 71; + break; + case 1: + var10 = 81; + break; + case 2: + var10 = 80; + break; + case 3: + var10 = 68; + break; + default: + var10 = 11; + } + + var5[var6] = (char)(var9 ^ var10); + ++var1; + if (var3 == 0) { + var6 = var3; + var5 = var10001; + } else { + if (var3 <= var1) { + g = Pattern.compile((new String(var10001)).intern()); + return; + } + + var5 = var10001; + var6 = var1; + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } + + var8 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 71; + break; + case 1: + var10008 = 81; + break; + case 2: + var10008 = 80; + break; + case 3: + var10008 = 68; + break; + default: + var10008 = 11; + } + } + } + } + } +} diff --git a/testData/obfuscated/ak.java b/testData/obfuscated/ak.java new file mode 100644 index 0000000..f463318 --- /dev/null +++ b/testData/obfuscated/ak.java @@ -0,0 +1,11 @@ +public interface ak { + String a(); + + String b(); + + String c(); + + double d(); + + Double e(); +} diff --git a/testData/obfuscated/al.java b/testData/obfuscated/al.java new file mode 100644 index 0000000..2ca4151 --- /dev/null +++ b/testData/obfuscated/al.java @@ -0,0 +1,459 @@ +import java.text.DecimalFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.concurrent.TimeUnit; + +public class al implements Comparable { + private final ak a; + private final List> b = new ArrayList(); + private final List> c = new ArrayList(); + private double d = 0.0D; + private double e = 0.0D; + private double f = 0.0D; + private static final String[] g; + + public al(ak var1) { + this.a = var1; + } + + protected static long a(Date param0, Date param1, TimeUnit param2) { + // $FF: Couldn't be decompiled + } + + protected static T a(List param0) { + // $FF: Couldn't be decompiled + } + + protected static T b(List param0) { + // $FF: Couldn't be decompiled + } + + public void a(double param1) { + // $FF: Couldn't be decompiled + } + + public ak a() { + return this.a; + } + + public List> b() { + return this.b; + } + + public List> c() { + return this.c; + } + + public double d() { + return this.d; + } + + public double e() { + try { + if (this.b.isEmpty()) { + return 0.0D; + } + } catch (a_ var1) { + throw var1; + } + + return this.e / (double)this.b.size(); + } + + public double f() { + try { + if (this.c.isEmpty()) { + return 0.0D; + } + } catch (a_ var1) { + throw var1; + } + + return this.f / (double)this.c.size(); + } + + public String toString() { + StringBuilder var1 = new StringBuilder(this.a.a()); + + try { + var1.append(g[2]); + var1.append(this.a.b()); + if (this.a.c() != null) { + var1.append(g[1]); + var1.append(this.a.c()); + var1.append("]"); + } + } catch (a_ var2) { + throw var2; + } + + var1.append(g[0]); + var1.append(DecimalFormat.getNumberInstance().format(this.d())); + var1.append(" "); + var1.append(DecimalFormat.getNumberInstance().format(this.e())); + var1.append(" "); + var1.append(DecimalFormat.getNumberInstance().format(this.f())); + return var1.toString(); + } + + protected static boolean a(Object param0, Object param1) { + // $FF: Couldn't be decompiled + } + + public int a(al var1) { + try { + if (var1 == null) { + return 1; + } + } catch (a_ var2) { + throw var2; + } + + try { + if (a(this.a().a(), var1.a().a())) { + return this.a().b().compareTo(var1.a().b()); + } + } catch (a_ var3) { + throw var3; + } + + return this.a().a().compareTo(var1.a().a()); + } + + static { + String[] var10000 = new String[3]; + char[] var10003 = "\u0007Y".toCharArray(); + int var10005 = var10003.length; + int var1 = 0; + char[] var10004 = var10003; + int var2 = var10005; + char[] var4; + int var10006; + char var10007; + byte var10008; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 61; + break; + case 1: + var10008 = 121; + break; + case 2: + var10008 = 103; + break; + case 3: + var10008 = 113; + break; + default: + var10008 = 123; + } + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + label127: { + var10000[0] = (new String(var10003)).intern(); + var10003 = "\u001d\"".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + break label127; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 61; + break; + case 1: + var10008 = 121; + break; + case 2: + var10008 = 103; + break; + case 3: + var10008 = 113; + break; + default: + var10008 = 123; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[1] = (new String(var10004)).intern(); + var10003 = "\u001dTG".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + var10000[2] = (new String(var10003)).intern(); + g = var10000; + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 61; + break; + case 1: + var10008 = 121; + break; + case 2: + var10008 = 103; + break; + case 3: + var10008 = 113; + break; + default: + var10008 = 123; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[2] = (new String(var10004)).intern(); + g = var10000; + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var4 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 61; + break; + case 1: + var10008 = 121; + break; + case 2: + var10008 = 103; + break; + case 3: + var10008 = 113; + break; + default: + var10008 = 123; + } + } + + while(true) { + while(true) { + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + var10007 = var10004[var2]; + switch(var1 % 5) { + case 0: + var10008 = 61; + break; + case 1: + var10008 = 121; + break; + case 2: + var10008 = 103; + break; + case 3: + var10008 = 113; + break; + default: + var10008 = 123; + } + } else { + if (var2 <= var1) { + label65: { + var10000[0] = (new String(var10004)).intern(); + var10003 = "\u001d\"".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + break label65; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 61; + break; + case 1: + var10008 = 121; + break; + case 2: + var10008 = 103; + break; + case 3: + var10008 = 113; + break; + default: + var10008 = 123; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[1] = (new String(var10004)).intern(); + var10003 = "\u001dTG".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + var10000[2] = (new String(var10003)).intern(); + g = var10000; + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 61; + break; + case 1: + var10008 = 121; + break; + case 2: + var10008 = 103; + break; + case 3: + var10008 = 113; + break; + default: + var10008 = 123; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[2] = (new String(var10004)).intern(); + g = var10000; + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var4 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 61; + break; + case 1: + var10008 = 121; + break; + case 2: + var10008 = 103; + break; + case 3: + var10008 = 113; + break; + default: + var10008 = 123; + } + } + } + } + } +} diff --git a/testData/obfuscated/am.java b/testData/obfuscated/am.java new file mode 100644 index 0000000..7353ace --- /dev/null +++ b/testData/obfuscated/am.java @@ -0,0 +1,3 @@ +public interface am { + void a(k var1); +} diff --git a/testData/obfuscated/an.java b/testData/obfuscated/an.java new file mode 100644 index 0000000..59d7f06 --- /dev/null +++ b/testData/obfuscated/an.java @@ -0,0 +1,1057 @@ +import java.lang.management.GarbageCollectorMXBean; +import java.lang.management.ManagementFactory; +import java.lang.management.MemoryMXBean; +import java.lang.management.MemoryPoolMXBean; +import java.lang.management.OperatingSystemMXBean; +import java.lang.management.ThreadMXBean; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; + +@aa( + a = {am.class} +) +public class an implements am { + private OperatingSystemMXBean a = ManagementFactory.getOperatingSystemMXBean(); + private MemoryMXBean b = ManagementFactory.getMemoryMXBean(); + private List c = ManagementFactory.getMemoryPoolMXBeans(); + private ThreadMXBean d = ManagementFactory.getThreadMXBean(); + private List e = ManagementFactory.getGarbageCollectorMXBeans(); + private Map f = Collections.synchronizedMap(new TreeMap()); + private ak g; + private List h; + private ak i; + private ak j; + public static boolean k; + private static final String[] l; + + public an() { + this.g = new at(this, l[2], l[1]); + this.i = new au(this, l[0], l[5]); + this.j = new av(this, l[4], l[3]); + } + + private List a() { + boolean var4 = k; + + List var10000; + label45: { + try { + var10000 = this.h; + if (var4) { + return var10000; + } + + if (var10000 != null) { + break label45; + } + } catch (a_ var6) { + throw var6; + } + + ArrayList var1 = new ArrayList(); + Iterator var2 = this.c.iterator(); + + while(var2.hasNext()) { + MemoryPoolMXBean var3 = (MemoryPoolMXBean)var2.next(); + + try { + var1.add(new aw(this, var3)); + if (var4) { + break label45; + } + + if (var4) { + break; + } + } catch (a_ var5) { + throw var5; + } + } + + this.h = var1; + } + + var10000 = this.h; + return var10000; + } + + public void a(k var1) { + var1.a((Object)this.g); + var1.a((Collection)this.a()); + var1.a((Object)this.i); + var1.a((Object)this.j); + } + + public List b() { + ArrayList var1 = new ArrayList(this.f.values()); + Collections.sort(var1); + return var1; + } + + static MemoryMXBean a(an var0) { + return var0.b; + } + + static Map b(an var0) { + return var0.f; + } + + static ThreadMXBean c(an var0) { + return var0.d; + } + + static OperatingSystemMXBean d(an var0) { + return var0.a; + } + + static List e(an var0) { + return var0.e; + } + + static { + String[] var10000; + int var1; + int var2; + char[] var10003; + char[] var10004; + char[] var4; + int var10005; + int var10006; + char var10007; + byte var10008; + label304: { + var10000 = new String[6]; + var10003 = "\u0006\b\u000e".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + break label304; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 76; + break; + case 1: + var10008 = 94; + break; + case 2: + var10008 = 67; + break; + case 3: + var10008 = 50; + break; + default: + var10008 = 117; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[0] = (new String(var10004)).intern(); + var10003 = "\u0004;\"B".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 76; + break; + case 1: + var10008 = 94; + break; + case 2: + var10008 = 67; + break; + case 3: + var10008 = 50; + break; + default: + var10008 = 117; + } + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + label347: { + var10000[1] = (new String(var10003)).intern(); + var10003 = "\u0006\b\u000e".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + break label347; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 76; + break; + case 1: + var10008 = 94; + break; + case 2: + var10008 = 67; + break; + case 3: + var10008 = 50; + break; + default: + var10008 = 117; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[2] = (new String(var10004)).intern(); + var10003 = "\u000b\u001d".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 76; + break; + case 1: + var10008 = 94; + break; + case 2: + var10008 = 67; + break; + case 3: + var10008 = 50; + break; + default: + var10008 = 117; + } + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + label415: { + var10000[3] = (new String(var10003)).intern(); + var10003 = "\u0006\b\u000e".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + break label415; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 76; + break; + case 1: + var10008 = 94; + break; + case 2: + var10008 = 67; + break; + case 3: + var10008 = 50; + break; + default: + var10008 = 117; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[4] = (new String(var10004)).intern(); + var10003 = "\u000f\u000e\u0016".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + var10000[5] = (new String(var10003)).intern(); + l = var10000; + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 76; + break; + case 1: + var10008 = 94; + break; + case 2: + var10008 = 67; + break; + case 3: + var10008 = 50; + break; + default: + var10008 = 117; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[5] = (new String(var10004)).intern(); + l = var10000; + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var4 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 76; + break; + case 1: + var10008 = 94; + break; + case 2: + var10008 = 67; + break; + case 3: + var10008 = 50; + break; + default: + var10008 = 117; + } + } + + while(true) { + while(true) { + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + var10007 = var10004[var2]; + switch(var1 % 5) { + case 0: + var10008 = 76; + break; + case 1: + var10008 = 94; + break; + case 2: + var10008 = 67; + break; + case 3: + var10008 = 50; + break; + default: + var10008 = 117; + } + } else { + if (var2 <= var1) { + label523: { + var10000[3] = (new String(var10004)).intern(); + var10003 = "\u0006\b\u000e".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + break label523; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 76; + break; + case 1: + var10008 = 94; + break; + case 2: + var10008 = 67; + break; + case 3: + var10008 = 50; + break; + default: + var10008 = 117; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[4] = (new String(var10004)).intern(); + var10003 = "\u000f\u000e\u0016".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + var10000[5] = (new String(var10003)).intern(); + l = var10000; + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 76; + break; + case 1: + var10008 = 94; + break; + case 2: + var10008 = 67; + break; + case 3: + var10008 = 50; + break; + default: + var10008 = 117; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[5] = (new String(var10004)).intern(); + l = var10000; + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var4 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 76; + break; + case 1: + var10008 = 94; + break; + case 2: + var10008 = 67; + break; + case 3: + var10008 = 50; + break; + default: + var10008 = 117; + } + } + } + } + } + + var4 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 76; + break; + case 1: + var10008 = 94; + break; + case 2: + var10008 = 67; + break; + case 3: + var10008 = 50; + break; + default: + var10008 = 117; + } + } + + while(true) { + while(true) { + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + var10007 = var10004[var2]; + switch(var1 % 5) { + case 0: + var10008 = 76; + break; + case 1: + var10008 = 94; + break; + case 2: + var10008 = 67; + break; + case 3: + var10008 = 50; + break; + default: + var10008 = 117; + } + } else { + if (var2 <= var1) { + label143: { + var10000[1] = (new String(var10004)).intern(); + var10003 = "\u0006\b\u000e".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + break label143; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 76; + break; + case 1: + var10008 = 94; + break; + case 2: + var10008 = 67; + break; + case 3: + var10008 = 50; + break; + default: + var10008 = 117; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[2] = (new String(var10004)).intern(); + var10003 = "\u000b\u001d".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 76; + break; + case 1: + var10008 = 94; + break; + case 2: + var10008 = 67; + break; + case 3: + var10008 = 50; + break; + default: + var10008 = 117; + } + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + label187: { + var10000[3] = (new String(var10003)).intern(); + var10003 = "\u0006\b\u000e".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + break label187; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 76; + break; + case 1: + var10008 = 94; + break; + case 2: + var10008 = 67; + break; + case 3: + var10008 = 50; + break; + default: + var10008 = 117; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[4] = (new String(var10004)).intern(); + var10003 = "\u000f\u000e\u0016".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + var10000[5] = (new String(var10003)).intern(); + l = var10000; + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 76; + break; + case 1: + var10008 = 94; + break; + case 2: + var10008 = 67; + break; + case 3: + var10008 = 50; + break; + default: + var10008 = 117; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[5] = (new String(var10004)).intern(); + l = var10000; + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var4 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 76; + break; + case 1: + var10008 = 94; + break; + case 2: + var10008 = 67; + break; + case 3: + var10008 = 50; + break; + default: + var10008 = 117; + } + } + + while(true) { + while(true) { + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + var10007 = var10004[var2]; + switch(var1 % 5) { + case 0: + var10008 = 76; + break; + case 1: + var10008 = 94; + break; + case 2: + var10008 = 67; + break; + case 3: + var10008 = 50; + break; + default: + var10008 = 117; + } + } else { + if (var2 <= var1) { + label107: { + var10000[3] = (new String(var10004)).intern(); + var10003 = "\u0006\b\u000e".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + break label107; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 76; + break; + case 1: + var10008 = 94; + break; + case 2: + var10008 = 67; + break; + case 3: + var10008 = 50; + break; + default: + var10008 = 117; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[4] = (new String(var10004)).intern(); + var10003 = "\u000f\u000e\u0016".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + var10000[5] = (new String(var10003)).intern(); + l = var10000; + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 76; + break; + case 1: + var10008 = 94; + break; + case 2: + var10008 = 67; + break; + case 3: + var10008 = 50; + break; + default: + var10008 = 117; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[5] = (new String(var10004)).intern(); + l = var10000; + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var4 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 76; + break; + case 1: + var10008 = 94; + break; + case 2: + var10008 = 67; + break; + case 3: + var10008 = 50; + break; + default: + var10008 = 117; + } + } + } + } + } + + var4 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 76; + break; + case 1: + var10008 = 94; + break; + case 2: + var10008 = 67; + break; + case 3: + var10008 = 50; + break; + default: + var10008 = 117; + } + } + } + } + } +} diff --git a/testData/obfuscated/ao.java b/testData/obfuscated/ao.java new file mode 100644 index 0000000..745e043 --- /dev/null +++ b/testData/obfuscated/ao.java @@ -0,0 +1,25 @@ +import java.lang.Thread.State; + +public class ao implements Comparable { + protected String a; + protected State b; + protected double c; + protected long d; + protected long e; + + public String a() { + return this.a; + } + + public State b() { + return this.b; + } + + public double c() { + return this.c; + } + + public int a(ao param1) { + // $FF: Couldn't be decompiled + } +} diff --git a/testData/obfuscated/ap.java b/testData/obfuscated/ap.java new file mode 100644 index 0000000..8f14fd7 --- /dev/null +++ b/testData/obfuscated/ap.java @@ -0,0 +1,91 @@ +public abstract class ap implements ak { + private final String a; + private final String b; + public static int c; + private static final String d; + + public ap(String var1, String var2) { + this.b = var1; + this.a = var2; + } + + public String b() { + return this.a; + } + + public String a() { + return this.b; + } + + public int hashCode() { + return (this.b + this.a).hashCode(); + } + + public boolean equals(Object param1) { + // $FF: Couldn't be decompiled + } + + public String toString() { + return this.b + d + this.a; + } + + static { + char[] var10000 = "K\u000eX".toCharArray(); + int var10002 = var10000.length; + int var1 = 0; + char[] var10001 = var10000; + int var2 = var10002; + int var10003; + char[] var4; + if (var10002 <= 1) { + var4 = var10000; + var10003 = var1; + } else { + var10001 = var10000; + var2 = var10002; + if (var10002 <= var1) { + d = (new String(var10000)).intern(); + return; + } + + var4 = var10000; + var10003 = var1; + } + + while(true) { + char var10004 = var4[var10003]; + byte var10005; + switch(var1 % 5) { + case 0: + var10005 = 107; + break; + case 1: + var10005 = 35; + break; + case 2: + var10005 = 120; + break; + case 3: + var10005 = 65; + break; + default: + var10005 = 23; + } + + var4[var10003] = (char)(var10004 ^ var10005); + ++var1; + if (var2 == 0) { + var10003 = var2; + var4 = var10001; + } else { + if (var2 <= var1) { + d = (new String(var10001)).intern(); + return; + } + + var4 = var10001; + var10003 = var1; + } + } + } +} diff --git a/testData/obfuscated/aq.java b/testData/obfuscated/aq.java new file mode 100644 index 0000000..784fb30 --- /dev/null +++ b/testData/obfuscated/aq.java @@ -0,0 +1,29 @@ +public class aq extends ap { + private volatile long d; + private volatile long e; + private final String f; + private static final long g = 4611686018427387903L; + private final Double h; + + public aq(String var1, String var2, String var3, Double var4) { + super(var1, var2); + this.f = var3; + this.h = var4; + } + + public String c() { + return this.f; + } + + public void a(long param1) { + // $FF: Couldn't be decompiled + } + + public double d() { + // $FF: Couldn't be decompiled + } + + public Double e() { + return this.h; + } +} diff --git a/testData/obfuscated/ar.java b/testData/obfuscated/ar.java new file mode 100644 index 0000000..bf70813 --- /dev/null +++ b/testData/obfuscated/ar.java @@ -0,0 +1,22 @@ +public class ar extends ap { + private final String d; + private final double e; + + public ar(String var1, String var2, String var3, double var4) { + super(var1, var2); + this.d = var3; + this.e = var4; + } + + public String c() { + return this.d; + } + + public double d() { + return this.e; + } + + public Double e() { + return null; + } +} diff --git a/testData/obfuscated/as.java b/testData/obfuscated/as.java new file mode 100644 index 0000000..6e7c1a5 --- /dev/null +++ b/testData/obfuscated/as.java @@ -0,0 +1,49 @@ +import java.util.concurrent.TimeUnit; + +public class as extends ap { + private volatile long d = 0L; + private volatile long e; + private final TimeUnit f; + private final Double g; + private String h; + private double i; + + public as(String var1, String var2, TimeUnit var3, Double var4, String var5) { + super(var1, var2); + this.f = var3; + this.h = var5; + this.g = var4; + this.e = System.currentTimeMillis(); + } + + public String c() { + return this.h; + } + + public void a() { + // $FF: Couldn't be decompiled + } + + public void a(long var1) { + try { + if (9223372036854775797L - var1 > this.d) { + this.d += var1; + } + + } catch (a_ var3) { + throw var3; + } + } + + public double d() { + // $FF: Couldn't be decompiled + } + + public double b() { + return this.i; + } + + public Double e() { + return this.g; + } +} diff --git a/testData/obfuscated/at.java b/testData/obfuscated/at.java new file mode 100644 index 0000000..efafba2 --- /dev/null +++ b/testData/obfuscated/at.java @@ -0,0 +1,81 @@ +class at extends ap { + final an d; + private static final String e; + + at(an var1, String var2, String var3) { + super(var2, var3); + this.d = var1; + } + + public double d() { + return (double)an.a(this.d).getHeapMemoryUsage().getUsed() / 1024.0D / 1024.0D; + } + + public String c() { + return e; + } + + public Double e() { + return (double)an.a(this.d).getHeapMemoryUsage().getMax() / 1024.0D / 1024.0D; + } + + static { + char[] var10000 = "$b".toCharArray(); + int var10002 = var10000.length; + int var1 = 0; + char[] var10001 = var10000; + int var2 = var10002; + int var10003; + char[] var4; + if (var10002 <= 1) { + var4 = var10000; + var10003 = var1; + } else { + var10001 = var10000; + var2 = var10002; + if (var10002 <= var1) { + e = (new String(var10000)).intern(); + return; + } + + var4 = var10000; + var10003 = var1; + } + + while(true) { + char var10004 = var4[var10003]; + byte var10005; + switch(var1 % 5) { + case 0: + var10005 = 105; + break; + case 1: + var10005 = 32; + break; + case 2: + var10005 = 18; + break; + case 3: + var10005 = 31; + break; + default: + var10005 = 120; + } + + var4[var10003] = (char)(var10004 ^ var10005); + ++var1; + if (var2 == 0) { + var10003 = var2; + var4 = var10001; + } else { + if (var2 <= var1) { + e = (new String(var10001)).intern(); + return; + } + + var4 = var10001; + var10003 = var1; + } + } + } +} diff --git a/testData/obfuscated/au.java b/testData/obfuscated/au.java new file mode 100644 index 0000000..cf88f45 --- /dev/null +++ b/testData/obfuscated/au.java @@ -0,0 +1,24 @@ +class au extends ap { + private long d; + private long e; + final an f; + + au(an var1, String var2, String var3) { + super(var2, var3); + this.f = var1; + this.d = 0L; + this.e = 0L; + } + + public double d() { + // $FF: Couldn't be decompiled + } + + public String c() { + return "%"; + } + + public Double e() { + return 100.0D; + } +} diff --git a/testData/obfuscated/av.java b/testData/obfuscated/av.java new file mode 100644 index 0000000..ab6587d --- /dev/null +++ b/testData/obfuscated/av.java @@ -0,0 +1,24 @@ +class av extends ap { + private long d; + private long e; + final an f; + + av(an var1, String var2, String var3) { + super(var2, var3); + this.f = var1; + this.d = 0L; + this.e = 0L; + } + + public double d() { + // $FF: Couldn't be decompiled + } + + public String c() { + return "%"; + } + + public Double e() { + return 100.0D; + } +} diff --git a/testData/obfuscated/aw.java b/testData/obfuscated/aw.java new file mode 100644 index 0000000..2c7b400 --- /dev/null +++ b/testData/obfuscated/aw.java @@ -0,0 +1,361 @@ +import java.lang.management.MemoryPoolMXBean; + +class aw extends ap { + private MemoryPoolMXBean d; + final an e; + private static final String[] f; + + public aw(an var1, MemoryPoolMXBean var2) { + super(f[1], f[0] + var2.getName()); + this.e = var1; + this.d = var2; + } + + public double d() { + // $FF: Couldn't be decompiled + } + + public String c() { + return f[2]; + } + + public Double e() { + // $FF: Couldn't be decompiled + } + + static { + String[] var10000 = new String[3]; + char[] var10003 = "6\u0000ec".toCharArray(); + int var10005 = var10003.length; + int var1 = 0; + char[] var10004 = var10003; + int var2 = var10005; + char[] var4; + int var10006; + char var10007; + byte var10008; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 123; + break; + case 1: + var10008 = 69; + break; + case 2: + var10008 = 40; + break; + case 3: + var10008 = 78; + break; + default: + var10008 = 31; + } + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + label127: { + var10000[0] = (new String(var10003)).intern(); + var10003 = "1\u0013e".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + break label127; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 123; + break; + case 1: + var10008 = 69; + break; + case 2: + var10008 = 40; + break; + case 3: + var10008 = 78; + break; + default: + var10008 = 31; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[1] = (new String(var10004)).intern(); + var10003 = "6\u0007".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + var10000[2] = (new String(var10003)).intern(); + f = var10000; + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 123; + break; + case 1: + var10008 = 69; + break; + case 2: + var10008 = 40; + break; + case 3: + var10008 = 78; + break; + default: + var10008 = 31; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[2] = (new String(var10004)).intern(); + f = var10000; + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var4 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 123; + break; + case 1: + var10008 = 69; + break; + case 2: + var10008 = 40; + break; + case 3: + var10008 = 78; + break; + default: + var10008 = 31; + } + } + + while(true) { + while(true) { + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + var10007 = var10004[var2]; + switch(var1 % 5) { + case 0: + var10008 = 123; + break; + case 1: + var10008 = 69; + break; + case 2: + var10008 = 40; + break; + case 3: + var10008 = 78; + break; + default: + var10008 = 31; + } + } else { + if (var2 <= var1) { + label65: { + var10000[0] = (new String(var10004)).intern(); + var10003 = "1\u0013e".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + break label65; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 123; + break; + case 1: + var10008 = 69; + break; + case 2: + var10008 = 40; + break; + case 3: + var10008 = 78; + break; + default: + var10008 = 31; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[1] = (new String(var10004)).intern(); + var10003 = "6\u0007".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + var10000[2] = (new String(var10003)).intern(); + f = var10000; + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 123; + break; + case 1: + var10008 = 69; + break; + case 2: + var10008 = 40; + break; + case 3: + var10008 = 78; + break; + default: + var10008 = 31; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[2] = (new String(var10004)).intern(); + f = var10000; + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var4 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 123; + break; + case 1: + var10008 = 69; + break; + case 2: + var10008 = 40; + break; + case 3: + var10008 = 78; + break; + default: + var10008 = 31; + } + } + } + } + } +} diff --git a/testData/obfuscated/ax.java b/testData/obfuscated/ax.java new file mode 100644 index 0000000..bdb7372 --- /dev/null +++ b/testData/obfuscated/ax.java @@ -0,0 +1,172 @@ +import java.util.concurrent.TimeUnit; + +public class ax { + private long a = 0L; + private static final String[] b; + + public static ax a() { + return new ax(); + } + + private ax() { + this.b(); + } + + public void b() { + this.a = System.nanoTime(); + } + + public long c() { + return TimeUnit.NANOSECONDS.toMillis(System.nanoTime() - this.a); + } + + public String d() { + return this.c() + b[0]; + } + + public String a(boolean var1) { + String var2 = String.valueOf(((double)System.nanoTime() - (double)this.a) / 1000.0D); + + try { + if (var1) { + this.b(); + } + + return var2; + } catch (a_ var3) { + throw var3; + } + } + + public String e() { + String var1 = this.c() + b[1]; + this.b(); + return var1; + } + + static { + String[] var10000; + int var1; + int var2; + char[] var10003; + char[] var10004; + char[] var4; + int var10005; + int var10006; + char var10007; + byte var10008; + label51: { + var10000 = new String[2]; + var10003 = "}|".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + break label51; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 16; + break; + case 1: + var10008 = 15; + break; + case 2: + var10008 = 44; + break; + case 3: + var10008 = 84; + break; + default: + var10008 = 86; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[0] = (new String(var10004)).intern(); + var10003 = "}|".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + var10000[1] = (new String(var10003)).intern(); + b = var10000; + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 16; + break; + case 1: + var10008 = 15; + break; + case 2: + var10008 = 44; + break; + case 3: + var10008 = 84; + break; + default: + var10008 = 86; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[1] = (new String(var10004)).intern(); + b = var10000; + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } +} diff --git a/testData/obfuscated/ay.java b/testData/obfuscated/ay.java new file mode 100644 index 0000000..93a8659 --- /dev/null +++ b/testData/obfuscated/ay.java @@ -0,0 +1,3 @@ +public interface ay { + void a(a0 var1); +} diff --git a/testData/obfuscated/az.java b/testData/obfuscated/az.java new file mode 100644 index 0000000..773bde2 --- /dev/null +++ b/testData/obfuscated/az.java @@ -0,0 +1,205 @@ +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.parsers.ParserConfigurationException; +import org.w3c.dom.DOMException; +import org.w3c.dom.Document; +import org.w3c.dom.Node; +import org.w3c.dom.ProcessingInstruction; +import org.xml.sax.Attributes; + +class az { + private Document a; + private Node b; + private Node c; + private ay d; + private static final String[] e; + + public az(ay var1, String var2, String var3, Attributes var4) throws ParserConfigurationException { + this.d = var1; + DocumentBuilderFactory var5 = DocumentBuilderFactory.newInstance(); + DocumentBuilder var6 = var5.newDocumentBuilder(); + this.a = var6.newDocument(); + this.a(var3, var4); + } + + private boolean a() { + try { + if (this.b()) { + this.d.a(new a1(this.b)); + return true; + } + } catch (DOMException var1) { + throw var1; + } + + this.c = this.c.getParentNode(); + return false; + } + + private boolean b() { + return this.c.equals(this.b); + } + + private void a(String param1, Attributes param2) { + // $FF: Couldn't be decompiled + } + + public Node c() { + return this.b; + } + + public void a(String var1, String var2, Attributes var3) { + this.a(var2, var3); + } + + public void a(String var1, String var2) { + ProcessingInstruction var3 = this.a.createProcessingInstruction(var1, var2); + this.c.appendChild(var3); + } + + public boolean b(String var1, String var2) { + try { + if (!this.c.getNodeName().equals(var2)) { + throw new DOMException((short)12, e[0] + var2 + e[1] + this.c.getNodeName()); + } + } catch (DOMException var3) { + throw var3; + } + + return this.a(); + } + + public void a(String var1) { + this.c.appendChild(this.a.createTextNode(var1)); + } + + public ay d() { + return this.d; + } + + static { + String[] var10000; + int var1; + int var2; + char[] var10003; + char[] var10004; + char[] var4; + int var10005; + int var10006; + char var10007; + byte var10008; + label51: { + var10000 = new String[2]; + var10003 = "+\u0013*w'\u001b\u001e;j3^\u0018!kz\n\u001c(5w".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + break label51; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 126; + break; + case 1: + var10008 = 125; + break; + case 2: + var10008 = 79; + break; + case 3: + var10008 = 15; + break; + default: + var10008 = 87; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[0] = (new String(var10004)).intern(); + var10003 = "^\u00187\u007f2\u001d\t*km^".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + var10000[1] = (new String(var10003)).intern(); + e = var10000; + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 126; + break; + case 1: + var10008 = 125; + break; + case 2: + var10008 = 79; + break; + case 3: + var10008 = 15; + break; + default: + var10008 = 87; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[1] = (new String(var10004)).intern(); + e = var10000; + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } +} diff --git a/testData/obfuscated/b.java b/testData/obfuscated/b.java new file mode 100644 index 0000000..7fd3287 --- /dev/null +++ b/testData/obfuscated/b.java @@ -0,0 +1,99 @@ +import java.util.Date; + +public class b { + protected ah a; + protected long b; + protected long c; + protected final K d; + protected V e; + protected long f; + protected long g; + + public ah a() { + return this.a; + } + + public long b() { + return this.a.b(); + } + + public Date c() { + return new Date(this.b); + } + + public void a(long var1) { + this.b = var1; + } + + public Date d() { + return new Date(this.c); + } + + public Date e() { + return new Date(this.f); + } + + public void b(long var1) { + this.c = var1; + } + + public V f() { + return this.e; + } + + public void a(V var1) { + this.e = var1; + } + + public b(K var1, V var2, long var3, long var5) { + boolean var7 = d.b; + super(); + this.a = new ah(); + this.b = 0L; + this.c = 0L; + this.d = var1; + this.f = var3; + this.g = var5; + this.c = System.currentTimeMillis(); + this.b = this.c; + this.e = var2; + if (ap.c != 0) { + boolean var10000; + label18: { + try { + if (var7) { + var10000 = false; + break label18; + } + } catch (a_ var8) { + throw var8; + } + + var10000 = true; + } + + d.b = var10000; + } + + } + + public long g() { + return this.f; + } + + public void c(long var1) { + this.f = var1; + } + + public long h() { + return this.g; + } + + public void d(long var1) { + this.g = var1; + } + + public K i() { + return this.d; + } +} diff --git a/testData/obfuscated/ba.java b/testData/obfuscated/ba.java new file mode 100644 index 0000000..8c09da4 --- /dev/null +++ b/testData/obfuscated/ba.java @@ -0,0 +1,177 @@ +import java.util.Iterator; +import java.util.TimerTask; + +class ba extends TimerTask { + final ae a; + private static final String[] b; + + private ba(ae var1) { + this.a = var1; + } + + public void run() { + boolean var4 = ae.e; + Iterator var1 = ae.a(this.a).iterator(); + + while(true) { + if (var1.hasNext()) { + ac var2 = (ac)var1.next(); + + label23: { + try { + var2.a(); + } catch (Exception var6) { + r.a(b[0]).a(b[1], var2.getClass().getName()).a(); + break label23; + } + + if (var4) { + break; + } + } + + if (!var4) { + continue; + } + + int var5 = ap.c; + ++var5; + ap.c = var5; + } + + ae.a(this.a, System.currentTimeMillis()); + break; + } + + } + + ba(ae var1, af var2) { + this(var1); + } + + static { + String[] var10000; + int var1; + int var2; + char[] var10003; + char[] var10004; + char[] var4; + int var10005; + int var10006; + char var10007; + byte var10008; + label51: { + var10000 = new String[2]; + var10003 = "\b[\u0006\u001d\u001b\u0000D\r\u001a\u0016(y\u0002\u001c\t\u000bL\n\u0003\u0007)".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + break label51; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 77; + break; + case 1: + var10008 = 45; + break; + case 2: + var10008 = 99; + break; + case 3: + var10008 = 111; + break; + default: + var10008 = 98; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[0] = (new String(var10004)).intern(); + var10003 = ".A\u0002\u001c\u0011".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + var10000[1] = (new String(var10003)).intern(); + b = var10000; + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 77; + break; + case 1: + var10008 = 45; + break; + case 2: + var10008 = 99; + break; + case 3: + var10008 = 111; + break; + default: + var10008 = 98; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[1] = (new String(var10004)).intern(); + b = var10000; + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } +} diff --git a/testData/obfuscated/bb.java b/testData/obfuscated/bb.java new file mode 100644 index 0000000..48a4d9a --- /dev/null +++ b/testData/obfuscated/bb.java @@ -0,0 +1,904 @@ +import org.xhtmlrenderer.extend.FSImage; +import org.xhtmlrenderer.extend.ReplacedElement; +import org.xhtmlrenderer.extend.UserAgentCallback; +import org.xhtmlrenderer.layout.LayoutContext; +import org.xhtmlrenderer.pdf.ITextOutputDevice; +import org.xhtmlrenderer.pdf.ITextReplacedElementFactory; +import org.xhtmlrenderer.render.BlockBox; + +public class bb extends ITextReplacedElementFactory { + public static boolean b; + private static final String[] a; + + public bb(ITextOutputDevice var1) { + super(var1); + } + + public ReplacedElement createReplacedElement(LayoutContext param1, BlockBox param2, UserAgentCallback param3, int param4, int param5) { + // $FF: Couldn't be decompiled + } + + private n a(int param1, int param2, FSImage param3) { + // $FF: Couldn't be decompiled + } + + static { + String[] var10000 = new String[5]; + char[] var10003 = "u\u0003\u000e".toCharArray(); + int var10005 = var10003.length; + int var1 = 0; + char[] var10004 = var10003; + int var2 = var10005; + char[] var4; + int var10006; + char var10007; + byte var10008; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 28; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 105; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 33; + } + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + label316: { + var10000[0] = (new String(var10003)).intern(); + var10003 = "o\u001c\n".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + break label316; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 28; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 105; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 33; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[1] = (new String(var10004)).intern(); + var10003 = "h\u0017\u0019K".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 28; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 105; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 33; + } + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + label384: { + var10000[2] = (new String(var10003)).intern(); + var10003 = "\u007f\u0001\rK\u0010.V".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + break label384; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 28; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 105; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 33; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[3] = (new String(var10004)).intern(); + var10003 = "o\u001c\n".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + var10000[4] = (new String(var10003)).intern(); + a = var10000; + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 28; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 105; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 33; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[4] = (new String(var10004)).intern(); + a = var10000; + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var4 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 28; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 105; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 33; + } + } + + while(true) { + while(true) { + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + var10007 = var10004[var2]; + switch(var1 % 5) { + case 0: + var10008 = 28; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 105; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 33; + } + } else { + if (var2 <= var1) { + label492: { + var10000[2] = (new String(var10004)).intern(); + var10003 = "\u007f\u0001\rK\u0010.V".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + break label492; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 28; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 105; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 33; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[3] = (new String(var10004)).intern(); + var10003 = "o\u001c\n".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + var10000[4] = (new String(var10003)).intern(); + a = var10000; + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 28; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 105; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 33; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[4] = (new String(var10004)).intern(); + a = var10000; + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var4 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 28; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 105; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 33; + } + } + } + } + } + + var4 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 28; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 105; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 33; + } + } + + while(true) { + while(true) { + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + var10007 = var10004[var2]; + switch(var1 % 5) { + case 0: + var10008 = 28; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 105; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 33; + } + } else { + if (var2 <= var1) { + label129: { + var10000[0] = (new String(var10004)).intern(); + var10003 = "o\u001c\n".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + break label129; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 28; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 105; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 33; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[1] = (new String(var10004)).intern(); + var10003 = "h\u0017\u0019K".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 28; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 105; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 33; + } + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + label173: { + var10000[2] = (new String(var10003)).intern(); + var10003 = "\u007f\u0001\rK\u0010.V".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + break label173; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 28; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 105; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 33; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[3] = (new String(var10004)).intern(); + var10003 = "o\u001c\n".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + var10000[4] = (new String(var10003)).intern(); + a = var10000; + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 28; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 105; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 33; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[4] = (new String(var10004)).intern(); + a = var10000; + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var4 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 28; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 105; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 33; + } + } + + while(true) { + while(true) { + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + var10007 = var10004[var2]; + switch(var1 % 5) { + case 0: + var10008 = 28; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 105; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 33; + } + } else { + if (var2 <= var1) { + label93: { + var10000[2] = (new String(var10004)).intern(); + var10003 = "\u007f\u0001\rK\u0010.V".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + break label93; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 28; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 105; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 33; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[3] = (new String(var10004)).intern(); + var10003 = "o\u001c\n".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + var10000[4] = (new String(var10003)).intern(); + a = var10000; + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 28; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 105; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 33; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[4] = (new String(var10004)).intern(); + a = var10000; + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var4 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 28; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 105; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 33; + } + } + } + } + } + + var4 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 28; + break; + case 1: + var10008 = 110; + break; + case 2: + var10008 = 105; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 33; + } + } + } + } + } +} diff --git a/testData/obfuscated/bc.java b/testData/obfuscated/bc.java new file mode 100644 index 0000000..ee3c7f5 --- /dev/null +++ b/testData/obfuscated/bc.java @@ -0,0 +1,159 @@ +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; +import javax.xml.parsers.ParserConfigurationException; +import javax.xml.parsers.SAXParser; +import javax.xml.parsers.SAXParserFactory; +import org.w3c.dom.Node; +import org.xml.sax.Attributes; +import org.xml.sax.InputSource; +import org.xml.sax.SAXException; +import org.xml.sax.XMLReader; +import org.xml.sax.helpers.DefaultHandler; + +public class bc extends DefaultHandler { + private boolean a = false; + private StringBuilder b = new StringBuilder(); + private Map c = new TreeMap(); + private List d = new ArrayList(); + public static int e; + + public void characters(char[] var1, int var2, int var3) throws SAXException { + this.a = true; + this.b.append(var1, var2, var3); + } + + public void endDocument() throws SAXException { + } + + public void endElement(String var1, String var2, String var3) throws SAXException { + int var7 = e; + + bc var10000; + label63: { + label67: { + try { + var10000 = this; + if (var7 != 0) { + break label63; + } + + if (!this.a) { + break label67; + } + } catch (SAXException var10) { + throw var10; + } + + String var4 = this.b.toString(); + Iterator var5 = this.d.iterator(); + + label55: { + while(var5.hasNext()) { + az var6 = (az)var5.next(); + + try { + var6.a(var4); + if (var7 != 0) { + break label55; + } + + if (var7 != 0) { + break; + } + } catch (SAXException var9) { + throw var9; + } + } + + this.b = new StringBuilder(); + } + + this.a = false; + } + + var10000 = this; + } + + Iterator var11 = var10000.d.iterator(); + + while(var11.hasNext()) { + az var12 = (az)var11.next(); + + try { + if (var12.b(var1, var3)) { + var11.remove(); + } + } catch (SAXException var8) { + throw var8; + } + + if (var7 != 0) { + break; + } + } + + } + + public void processingInstruction(String var1, String var2) throws SAXException { + Iterator var3 = this.d.iterator(); + + while(var3.hasNext()) { + az var4 = (az)var3.next(); + var4.a(var1, var2); + } + + } + + public void startElement(String var1, String var2, String var3, Attributes var4) throws SAXException { + Iterator var5 = this.d.iterator(); + + while(var5.hasNext()) { + az var6 = (az)var5.next(); + var6.a(var1, var3, var4); + } + + try { + ay var9 = (ay)this.c.get(var3); + + try { + if (var9 != null) { + this.d.add(new az(var9, var1, var3, var4)); + } + + } catch (ParserConfigurationException var7) { + throw var7; + } + } catch (ParserConfigurationException var8) { + throw new SAXException(var8); + } + } + + public void a(String var1, ay var2) { + this.c.put(var1, var2); + } + + public static a0 a(Node var0) { + return new a1(var0); + } + + public void a(InputStream var1) throws ParserConfigurationException, SAXException, IOException { + try { + SAXParserFactory var2 = SAXParserFactory.newInstance(); + SAXParser var3 = var2.newSAXParser(); + XMLReader var4 = var3.getXMLReader(); + var4.setEntityResolver(new a2(this)); + var4.setContentHandler(this); + var4.parse(new InputSource(var1)); + } catch (a_ var8) { + ; + } finally { + var1.close(); + } + + } +} diff --git a/testData/obfuscated/bd.java b/testData/obfuscated/bd.java new file mode 100644 index 0000000..af46c04 --- /dev/null +++ b/testData/obfuscated/bd.java @@ -0,0 +1,349 @@ +import java.io.PrintWriter; +import java.io.UnsupportedEncodingException; +import java.math.BigInteger; +import java.security.MessageDigest; +import java.util.Hashtable; +import java.util.Vector; + +public class bd { + private static String a; + private static String j; + private static MessageDigest b; + private static Hashtable c; + private static Hashtable d; + private static final boolean e = false; + private static String f; + private static Hashtable g; + private static Hashtable h; + private static final String x = ""; + private static PrintWriter writer; + private static final String[] i; + + private static void a(Hashtable var0, MessageDigest var1) { + var0.put(new BigInteger(i[46], 36), "\uffc0"); + var0.put(new BigInteger(i[17], 36), "マ"); + var0.put(new BigInteger(i[96], 36), "ᆪ"); + var0.put(new BigInteger(i[94], 36), "ᅪ"); + var0.put(new BigInteger(i[24], 36), "\t"); + var0.put(new BigInteger(i[82], 36), i[60]); + var0.put(new BigInteger(i[64], 36), "\uffbf"); + var0.put(new BigInteger(i[36], 36), "ᅬ"); + var0.put(new BigInteger(i[56], 36), i[10]); + var0.put(new BigInteger(i[30], 36), i[70]); + var0.put(new BigInteger(i[75], 36), i[23]); + var0.put(new BigInteger(i[47], 36), i[5]); + var0.put(new BigInteger(i[19], 36), "ヨ"); + var0.put(new BigInteger(i[2], 36), i[71]); + var0.put(new BigInteger(i[50], 36), "ᅧ"); + var0.put(new BigInteger(i[76], 36), "O"); + var0.put(new BigInteger(i[40], 36), i[15]); + var0.put(new BigInteger(i[80], 36), i[33]); + var0.put(new BigInteger(i[95], 36), i[38]); + var0.put(new BigInteger(i[89], 36), i[69]); + var0.put(new BigInteger(i[43], 36), ","); + var0.put(new BigInteger(i[93], 36), i[77]); + var0.put(new BigInteger(i[62], 36), "ハ"); + var0.put(new BigInteger(i[22], 36), i[66]); + var0.put(new BigInteger(i[14], 36), i[34]); + var0.put(new BigInteger(i[29], 36), i[49]); + var0.put(new BigInteger(i[88], 36), i[25]); + var0.put(new BigInteger(i[42], 36), i[39]); + var0.put(new BigInteger(i[45], 36), i[11]); + var0.put(new BigInteger(i[102], 36), i[73]); + var0.put(new BigInteger(i[86], 36), i[0]); + var0.put(new BigInteger(i[41], 36), i[100]); + var0.put(new BigInteger(i[74], 36), i[51]); + var0.put(new BigInteger(i[103], 36), i[65]); + var0.put(new BigInteger(i[97], 36), i[85]); + var0.put(new BigInteger(i[92], 36), i[104]); + var0.put(new BigInteger(i[13], 36), i[20]); + var0.put(new BigInteger(i[78], 36), i[90]); + var0.put(new BigInteger(i[6], 36), ">"); + var0.put(new BigInteger(i[32], 36), "\uffdd"); + var0.put(new BigInteger(i[63], 36), "ᅴ"); + var0.put(new BigInteger(i[53], 36), "\uffd0"); + var0.put(new BigInteger(i[7], 36), i[12]); + var0.put(new BigInteger(i[54], 36), i[67]); + var0.put(new BigInteger(i[4], 36), "ラ"); + var0.put(new BigInteger(i[3], 36), i[57]); + var0.put(new BigInteger(i[79], 36), "\uffd0"); + var0.put(new BigInteger(i[16], 36), "A"); + var0.put(new BigInteger(i[44], 36), i[18]); + var0.put(new BigInteger(i[31], 36), i[58]); + var0.put(new BigInteger(i[21], 36), i[55]); + var0.put(new BigInteger(i[35], 36), "-"); + var0.put(new BigInteger(i[9], 36), i[87]); + var0.put(new BigInteger(i[61], 36), i[81]); + var0.put(new BigInteger(i[72], 36), i[48]); + var0.put(new BigInteger(i[68], 36), "\u0010"); + var0.put(new BigInteger(i[26], 36), "ワ"); + var0.put(new BigInteger(i[91], 36), i[1]); + var0.put(new BigInteger(i[28], 36), i[101]); + var0.put(new BigInteger(i[37], 36), "u"); + var0.put(new BigInteger(i[99], 36), i[52]); + var0.put(new BigInteger(i[105], 36), i[59]); + var0.put(new BigInteger(i[27], 36), "ᄚ"); + var0.put(new BigInteger(i[8], 36), i[98]); + var0.put(new BigInteger(i[83], 36), "\uffd0"); + var0.put(new BigInteger(i[84], 36), "\uffde"); + } + + private static void b(Hashtable var0, MessageDigest var1) { + } + + private static void c(Hashtable var0, MessageDigest var1) { + } + + private static void d(Hashtable var0, MessageDigest var1) { + } + + private static void e(Hashtable var0, MessageDigest var1) { + } + + private static void f(Hashtable var0, MessageDigest var1) { + } + + private static void g(Hashtable var0, MessageDigest var1) { + } + + private static void h(Hashtable var0, MessageDigest var1) { + } + + private static void i(Hashtable var0, MessageDigest var1) { + } + + private static void j(Hashtable var0, MessageDigest var1) { + } + + public static String a(String var0) { + if (b == null) { + return var0; + } else { + try { + int var1 = var0.lastIndexOf("[") + 1; + String var2 = var0.substring(var1); + if (var1 > 0 && var2.length() == 1) { + return var0; + } else { + boolean var3 = false; + if (var2.charAt(0) == 'L' && var2.charAt(var2.length() - 1) == ';') { + var3 = true; + var2 = var2.substring(1, var2.length() - 1); + } + + boolean var4 = var2.indexOf(46) > -1; + if (var4) { + var2 = var2.replace('.', '/'); + } + + var2 = var2 + f; + String var5 = b(var2); + if (var5 == null) { + return var0; + } else { + if (var4) { + var5 = var5.replace('/', '.'); + } + + StringBuffer var6 = new StringBuffer(); + + for(int var7 = 0; var7 < var1; ++var7) { + var6.append('['); + } + + if (var3) { + var6.append('L'); + } + + var6.append(var5); + if (var3) { + var6.append(';'); + } + + return var6.toString(); + } + } + } catch (Throwable var8) { + return var0; + } + } + } + + public static String b(String var0, Class var1, Class[] var2) { + if (b != null && var1 != null) { + try { + String var3 = var1.getName(); + String var4 = var3.replace('.', '/'); + StringBuffer var5 = new StringBuffer(); + var5.append(f); + var5.append(var0); + var5.append(f); + if (var2 != null && var2.length > 0) { + for(int var6 = 0; var6 < var2.length; ++var6) { + Class var7 = var2[var6]; + var5.append(d.containsKey(var7) ? (String)d.get(var7) : var7.getName().replace('.', '/')); + var5.append(f); + } + } + + String var10 = var5.toString(); + String var11 = var4 + var10; + String var8 = b(var11); + if (var8 != null) { + return var8; + } else { + var8 = a(var1, var10); + return var8 != null ? var8 : var0; + } + } catch (Throwable var9) { + return var0; + } + } else { + return var0; + } + } + + public static String c(Class var0, String var1) { + if (b != null && var0 != null) { + try { + String var2 = var0.getName(); + String var3 = var2.replace('.', '/'); + StringBuffer var4 = new StringBuffer(); + var4.append(f); + var4.append(var1); + String var5 = var4.toString(); + String var6 = var3 + var5; + String var7 = b(var6); + if (var7 != null) { + return var7; + } else { + var7 = a(var0, var5); + return var7 != null ? var7 : var1; + } + } catch (Throwable var8) { + return var1; + } + } else { + return var1; + } + } + + private static String b(String var0) { + String var1 = (String)g.get(var0); + if (var1 == null && var1 != "") { + b.reset(); + + try { + b.update(var0.getBytes(j)); + } catch (UnsupportedEncodingException var4) { + ; + } + + byte[] var2 = b.digest(); + BigInteger var3 = new BigInteger(var2); + var1 = (String)c.get(var3); + if (var1 != null) { + var1 = a(var0, var1); + g.put(var0, var1); + } else { + g.put(var0, ""); + } + } + + return var1 == "" ? null : var1; + } + + private static String a(String var0, String var1) { + b.reset(); + byte[] var2 = null; + + try { + var2 = (var0 + a).getBytes(j); + } catch (UnsupportedEncodingException var9) { + ; + } + + b.update(var2); + byte[] var3 = b.digest(); + char[] var4 = var1.toCharArray(); + StringBuffer var5 = new StringBuffer(var4.length); + + for(int var6 = 0; var6 < var4.length; ++var6) { + char var7 = var4[var6]; + byte var8; + if (var6 < var3.length - 1) { + var8 = var3[var6]; + } else { + var8 = var3[var6 % var3.length]; + } + + var5.append((char)(var7 ^ (char)var8)); + } + + String var10 = var5.toString(); + return var10; + } + + private static String a(Class var0, String var1) { + Vector var2 = b(var0); + int var3 = var2.size(); + + for(int var4 = 0; var4 < var3; ++var4) { + String var5 = (String)var2.elementAt(var4); + String var6 = var5 + var1; + String var7 = b(var6); + if (var7 != null) { + return var7; + } + } + + return null; + } + + private static String a(Class var0) { + return d.containsKey(var0) ? (String)d.get(var0) : var0.getName().replace('.', '/'); + } + + private static Vector b(Class var0) { + String var1 = var0.getName(); + Vector var2 = (Vector)h.get(var1); + if (var2 != null) { + return var2; + } else { + Vector var3 = new Vector(); + Hashtable var4 = new Hashtable(); + b(var0, var3, var4); + h.put(var1, var3); + return var3; + } + } + + private static void b(Class var0, Vector var1, Hashtable var2) { + Class var3 = var0.getSuperclass(); + if (var3 != null && !var2.containsKey(var3)) { + var1.addElement(var3.getName().replace('.', '/')); + var2.put(var3, var3); + b(var3, var1, var2); + } + + Class[] var4 = var0.getInterfaces(); + + for(int var5 = 0; var5 < var4.length; ++var5) { + Class var6 = var4[var5]; + if (!var2.containsKey(var6)) { + var1.addElement(var6.getName().replace('.', '/')); + var2.put(var6, var6); + b(var6, var1, var2); + } + } + + } + + private static String c(Class var0) { + return var0.getName().replace('.', '/'); + } + + static { + // $FF: Couldn't be decompiled + } +} diff --git a/testData/obfuscated/c.java b/testData/obfuscated/c.java new file mode 100644 index 0000000..079952b --- /dev/null +++ b/testData/obfuscated/c.java @@ -0,0 +1,8 @@ +@aa( + a = {ac.class} +) +public class c implements ac { + public void a() throws Exception { + d.b(); + } +} diff --git a/testData/obfuscated/d.java b/testData/obfuscated/d.java new file mode 100644 index 0000000..cbe2293 --- /dev/null +++ b/testData/obfuscated/d.java @@ -0,0 +1,39 @@ +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.concurrent.TimeUnit; + +public class d { + private static List> a = new ArrayList(); + public static boolean b; + + public static List> a() { + return a; + } + + public static a a(String var0, int var1, f var2, long var3, TimeUnit var5, g var6, long var7, TimeUnit var9) { + e var10 = new e(var0, var1, TimeUnit.MILLISECONDS.convert(var3, var5), var2, var6, TimeUnit.MILLISECONDS.convert(var7, var9)); + a.add(var10); + return var10; + } + + public static a a(String var0, int var1, long var2, TimeUnit var4) { + e var5 = new e(var0, var1, TimeUnit.MILLISECONDS.convert(var2, var4), (f)null, (g)null, 10000L); + a.add(var5); + return var5; + } + + public static void b() { + boolean var2 = b; + Iterator var0 = a().iterator(); + + while(var0.hasNext()) { + a var1 = (a)var0.next(); + var1.i(); + if (var2) { + break; + } + } + + } +} diff --git a/testData/obfuscated/e.java b/testData/obfuscated/e.java new file mode 100644 index 0000000..c20089e --- /dev/null +++ b/testData/obfuscated/e.java @@ -0,0 +1,148 @@ +import java.util.ArrayList; +import java.util.Collections; +import java.util.Date; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import org.apache.commons.collections.map.LRUMap; + +class e implements a { + private static final int a = 25; + protected int b; + protected f c; + protected Map> d; + protected ah e = new ah(); + protected ah f = new ah(); + protected List g = new ArrayList(25); + protected List h = new ArrayList(25); + protected Date i = null; + protected final String j; + protected final long k; + protected final g l; + private final long m; + + public e(String var1, int var2, long var3, f var5, g var6, long var7) { + this.j = var1; + this.b = var2; + this.m = var7; + if (var2 > 0) { + this.d = Collections.synchronizedMap(new LRUMap(var2)); + } else { + this.d = Collections.synchronizedMap(new HashMap(var2)); + } + + this.k = var3; + this.c = var5; + this.l = var6; + } + + public String a() { + return this.j; + } + + public int b() { + return this.b; + } + + public int c() { + return this.d.size(); + } + + public long d() { + return this.e.b() + this.f.b(); + } + + public Long f() { + long var1 = this.e.b(); + long var3 = this.f.b(); + + long var10000; + try { + if (var1 + var3 == 0L) { + var10000 = 0L; + return var10000; + } + } catch (a_ var5) { + throw var5; + } + + var10000 = Math.round(100.0D * (double)var1 / (double)(var1 + var3)); + return var10000; + } + + public Date h() { + return this.i; + } + + public void i() { + // $FF: Couldn't be decompiled + } + + public void j() { + this.d.clear(); + this.f.c(); + this.e.c(); + this.i = new Date(); + } + + public V a(K var1) { + return this.a(var1, this.c); + } + + public boolean c(K var1) { + return this.d.containsKey(var1); + } + + public V a(K param1, f param2) { + // $FF: Couldn't be decompiled + } + + public void a(K var1, V var2) { + b var10000; + b var10001; + Object var10002; + Object var10003; + long var10004; + label16: { + try { + var10000 = new b; + var10001 = var10000; + var10002 = var1; + var10003 = var2; + if (this.k > 0L) { + var10004 = this.k + System.currentTimeMillis(); + break label16; + } + } catch (a_ var4) { + throw var4; + } + + var10004 = 0L; + } + + var10001.(var10002, var10003, var10004, this.m + System.currentTimeMillis()); + b var3 = var10000; + this.d.put(var1, var3); + } + + public void b(K var1) { + this.d.remove(var1); + } + + public Iterator k() { + return this.d.keySet().iterator(); + } + + public List> l() { + return new ArrayList(this.d.values()); + } + + public List e() { + return this.g; + } + + public List g() { + return this.h; + } +} diff --git a/testData/obfuscated/f.java b/testData/obfuscated/f.java new file mode 100644 index 0000000..d015aad --- /dev/null +++ b/testData/obfuscated/f.java @@ -0,0 +1,3 @@ +public interface f { + V a(K var1); +} diff --git a/testData/obfuscated/g.java b/testData/obfuscated/g.java new file mode 100644 index 0000000..a8879e2 --- /dev/null +++ b/testData/obfuscated/g.java @@ -0,0 +1,3 @@ +public interface g { + boolean a(V var1); +} diff --git a/testData/obfuscated/h.java b/testData/obfuscated/h.java new file mode 100644 index 0000000..6bfb23d --- /dev/null +++ b/testData/obfuscated/h.java @@ -0,0 +1,50 @@ +import java.util.concurrent.atomic.AtomicLong; + +public class h { + private final AtomicLong a = new AtomicLong(); + + public long a() { + boolean var5 = n.c; + long var1 = this.a.incrementAndGet(); + + long var10000; + label48: { + try { + var10000 = var1; + if (var5) { + return var10000; + } + + if (var1 <= 9223372036854775797L) { + break label48; + } + } catch (a_ var8) { + throw var8; + } + + AtomicLong var3 = this.a; + synchronized(this.a) { + AtomicLong var9 = this.a; + if (!var5) { + try { + if (var9.get() > 9223372036854775797L) { + this.a.set(0L); + } + } catch (a_ var6) { + throw var6; + } + + var9 = var3; + } + + } + } + + var10000 = var1; + return var10000; + } + + public String b() { + return String.valueOf(this.a()); + } +} diff --git a/testData/obfuscated/i.java b/testData/obfuscated/i.java new file mode 100644 index 0000000..693bafb --- /dev/null +++ b/testData/obfuscated/i.java @@ -0,0 +1,18 @@ +import java.util.Collection; +import java.util.Iterator; + +public abstract class i implements k { + public void a(Collection var1) { + boolean var4 = n.c; + Iterator var2 = var1.iterator(); + + while(var2.hasNext()) { + Object var3 = var2.next(); + this.a(var3); + if (var4) { + break; + } + } + + } +} diff --git a/testData/obfuscated/j.java b/testData/obfuscated/j.java new file mode 100644 index 0000000..d29f986 --- /dev/null +++ b/testData/obfuscated/j.java @@ -0,0 +1,36 @@ +class j extends i { + final ai a; + + j(ai var1) { + this.a = var1; + } + + public void a(ak var1) { + al var2 = (al)ai.b().get(var1); + + al var10000; + label21: { + label20: { + try { + var10000 = var2; + if (an.k) { + break label21; + } + + if (var2 != null) { + break label20; + } + } catch (a_ var3) { + throw var3; + } + + var2 = new al(var1); + ai.b().put(var1, var2); + } + + var10000 = var2; + } + + var10000.a(var1.d()); + } +} diff --git a/testData/obfuscated/k.java b/testData/obfuscated/k.java new file mode 100644 index 0000000..5f16ecf --- /dev/null +++ b/testData/obfuscated/k.java @@ -0,0 +1,7 @@ +import java.util.Collection; + +public interface k { + void a(T var1); + + void a(Collection var1); +} diff --git a/testData/obfuscated/l.java b/testData/obfuscated/l.java new file mode 100644 index 0000000..7f393c9 --- /dev/null +++ b/testData/obfuscated/l.java @@ -0,0 +1,19 @@ +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; + +public class l implements k { + private List a = new ArrayList(); + + public void a(T var1) { + this.a.add(var1); + } + + public void a(Collection var1) { + this.a.addAll(var1); + } + + public List a() { + return this.a; + } +} diff --git a/testData/obfuscated/m.java b/testData/obfuscated/m.java new file mode 100644 index 0000000..af43311 --- /dev/null +++ b/testData/obfuscated/m.java @@ -0,0 +1,19 @@ +import java.util.Collection; +import java.util.LinkedHashSet; +import java.util.Set; + +public class m implements k { + private Set a = new LinkedHashSet(); + + public void a(T var1) { + this.a.add(var1); + } + + public void a(Collection var1) { + this.a.addAll(var1); + } + + public Set a() { + return this.a; + } +} diff --git a/testData/obfuscated/n.java b/testData/obfuscated/n.java new file mode 100644 index 0000000..721543c --- /dev/null +++ b/testData/obfuscated/n.java @@ -0,0 +1,209 @@ +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; + +public class n { + private F a; + private S b; + public static boolean c; + private static final String d; + + public n() { + } + + public n(F var1) { + this.a = var1; + } + + public n(F var1, S var2) { + this.a = var1; + this.b = var2; + } + + public F a() { + return this.a; + } + + public void a(F var1) { + this.a = var1; + } + + public S b() { + return this.b; + } + + public void b(S var1) { + this.b = var1; + } + + public boolean equals(Object param1) { + // $FF: Couldn't be decompiled + } + + private boolean a(Object param1, Object param2) { + // $FF: Couldn't be decompiled + } + + public String toString() { + return this.a + d + this.b; + } + + public int hashCode() { + Object var10000; + label28: { + try { + if (this.a == null) { + var10000 = ""; + break label28; + } + } catch (a_ var2) { + throw var2; + } + + var10000 = this.a; + } + + Object var10001; + int var3; + try { + var3 = var10000.hashCode() / 2; + if (this.b == null) { + var10001 = ""; + return var3 + var10001.hashCode() / 2; + } + } catch (a_ var1) { + throw var1; + } + + var10001 = this.b; + return var3 + var10001.hashCode() / 2; + } + + public static , K, V> List a(Collection var0) { + ArrayList var1 = new ArrayList(var0.size()); + Iterator var2 = var0.iterator(); + + while(var2.hasNext()) { + n var3 = (n)var2.next(); + var1.add(var3.a()); + } + + return var1; + } + + public static , K, V> List b(Collection param0) { + // $FF: Couldn't be decompiled + } + + public static List> a(Map var0) { + boolean var4 = c; + ArrayList var1 = new ArrayList(var0.size()); + Iterator var2 = var0.entrySet().iterator(); + + ArrayList var10000; + while(true) { + if (var2.hasNext()) { + Entry var3 = (Entry)var2.next(); + + try { + var10000 = var1; + if (var4) { + break; + } + + var1.add(new n(var3.getKey(), var3.getValue())); + if (!var4) { + continue; + } + } catch (a_ var6) { + throw var6; + } + + int var5 = ap.c; + ++var5; + ap.c = var5; + } + + var10000 = var1; + break; + } + + return var10000; + } + + public static Map c(Collection> var0) { + HashMap var1 = new HashMap(); + Iterator var2 = var0.iterator(); + + while(var2.hasNext()) { + n var3 = (n)var2.next(); + var1.put(var3.a(), var3.b()); + } + + return var1; + } + + static { + char[] var10000 = "p\u001c".toCharArray(); + int var10002 = var10000.length; + int var1 = 0; + char[] var10001 = var10000; + int var2 = var10002; + int var10003; + char[] var4; + if (var10002 <= 1) { + var4 = var10000; + var10003 = var1; + } else { + var10001 = var10000; + var2 = var10002; + if (var10002 <= var1) { + d = (new String(var10000)).intern(); + return; + } + + var4 = var10000; + var10003 = var1; + } + + while(true) { + char var10004 = var4[var10003]; + byte var10005; + switch(var1 % 5) { + case 0: + var10005 = 74; + break; + case 1: + var10005 = 60; + break; + case 2: + var10005 = 116; + break; + case 3: + var10005 = 28; + break; + default: + var10005 = 38; + } + + var4[var10003] = (char)(var10004 ^ var10005); + ++var1; + if (var2 == 0) { + var10003 = var2; + var4 = var10001; + } else { + if (var2 <= var1) { + d = (new String(var10001)).intern(); + return; + } + + var4 = var10001; + var10003 = var1; + } + } + } +} diff --git a/testData/obfuscated/o.java b/testData/obfuscated/o.java new file mode 100644 index 0000000..226c629 --- /dev/null +++ b/testData/obfuscated/o.java @@ -0,0 +1,461 @@ +import java.math.BigDecimal; +import java.util.regex.Pattern; + +public class o { + private Object a; + private static final Pattern b; + private static final String c; + + public boolean a() { + boolean var10000; + try { + if (this.a == null) { + var10000 = true; + return var10000; + } + } catch (IllegalArgumentException var1) { + throw var1; + } + + var10000 = false; + return var10000; + } + + public boolean b() { + // $FF: Couldn't be decompiled + } + + public boolean c() { + boolean var10000; + try { + if (!this.b()) { + var10000 = true; + return var10000; + } + } catch (IllegalArgumentException var1) { + throw var1; + } + + var10000 = false; + return var10000; + } + + public o a(String... var1) { + try { + if (this.b()) { + return this; + } + } catch (IllegalArgumentException var7) { + throw var7; + } + + String[] var2 = var1; + int var3 = var1.length; + + for(int var4 = 0; var4 < var3; ++var4) { + String var5 = var2[var4]; + + try { + if (this.a.equals(var5)) { + return b((Object)null); + } + } catch (IllegalArgumentException var6) { + throw var6; + } + } + + return this; + } + + public boolean d() { + // $FF: Couldn't be decompiled + } + + public Object e() { + return this.a; + } + + public Object a(Object var1) { + Object var10000; + try { + if (this.a == null) { + var10000 = var1; + return var10000; + } + } catch (IllegalArgumentException var2) { + throw var2; + } + + var10000 = this.a; + return var10000; + } + + public T a(Class param1, T param2) { + // $FF: Couldn't be decompiled + } + + public V b(Class param1, V param2) { + // $FF: Couldn't be decompiled + } + + public String f() { + String var10000; + try { + if (this.a()) { + var10000 = null; + return var10000; + } + } catch (IllegalArgumentException var1) { + throw var1; + } + + var10000 = this.g(); + return var10000; + } + + public String g() { + String var10000; + try { + if (this.a == null) { + var10000 = ""; + return var10000; + } + } catch (IllegalArgumentException var1) { + throw var1; + } + + var10000 = this.a.toString(); + return var10000; + } + + public String a(String var1) { + String var10000; + try { + if (this.a()) { + var10000 = var1; + return var10000; + } + } catch (IllegalArgumentException var2) { + throw var2; + } + + var10000 = this.g(); + return var10000; + } + + public boolean a(boolean var1) { + try { + if (this.a()) { + return var1; + } + } catch (IllegalArgumentException var2) { + throw var2; + } + + try { + if (this.a instanceof Boolean) { + return ((Boolean)this.a).booleanValue(); + } + } catch (IllegalArgumentException var3) { + throw var3; + } + + return Boolean.parseBoolean(String.valueOf(this.a)); + } + + public boolean h() { + return this.a(false); + } + + public int a(int param1) { + // $FF: Couldn't be decompiled + } + + public Integer i() { + // $FF: Couldn't be decompiled + } + + public long a(long param1) { + // $FF: Couldn't be decompiled + } + + public Long j() { + // $FF: Couldn't be decompiled + } + + public double a(double param1) { + // $FF: Couldn't be decompiled + } + + public BigDecimal a(BigDecimal param1) { + // $FF: Couldn't be decompiled + } + + public static o b(Object var0) { + o var1 = new o(); + var1.a = var0; + return var1; + } + + public String toString() { + return this.g(); + } + + public > E a(Class var1) { + try { + if (this.a == null) { + return null; + } + } catch (Exception var4) { + throw var4; + } + + try { + if (var1.isAssignableFrom(this.a.getClass())) { + return (Enum)this.a; + } + } catch (Exception var5) { + throw var5; + } + + try { + return Enum.valueOf(var1, String.valueOf(this.a)); + } catch (Exception var3) { + return null; + } + } + + public String b(int var1) { + String var2 = this.g(); + + try { + if (var2 == null) { + return null; + } + } catch (IllegalArgumentException var3) { + throw var3; + } + + if (var1 < 0) { + var1 *= -1; + + try { + if (var2.length() < var1) { + return ""; + } + } catch (IllegalArgumentException var4) { + throw var4; + } + + return var2.substring(var1); + } else { + try { + if (var2.length() < var1) { + return var2; + } + } catch (IllegalArgumentException var5) { + throw var5; + } + + return var2.substring(0, var1); + } + } + + public String c(int var1) { + String var2 = this.g(); + + try { + if (var2 == null) { + return null; + } + } catch (IllegalArgumentException var3) { + throw var3; + } + + if (var1 < 0) { + var1 *= -1; + + try { + if (var2.length() < var1) { + return var2; + } + } catch (IllegalArgumentException var4) { + throw var4; + } + + return var2.substring(0, var2.length() - var1); + } else { + try { + if (var2.length() < var1) { + return var2; + } + } catch (IllegalArgumentException var5) { + throw var5; + } + + return var2.substring(var2.length() - var1); + } + } + + public String a(int var1, int var2) { + String var3 = this.g(); + + try { + if (var3 == null) { + return null; + } + } catch (IllegalArgumentException var4) { + throw var4; + } + + try { + if (var1 > var3.length()) { + return ""; + } + } catch (IllegalArgumentException var5) { + throw var5; + } + + return var3.substring(var1, Math.min(var3.length(), var2)); + } + + public int k() { + String var1 = this.g(); + + try { + if (var1 == null) { + return 0; + } + } catch (IllegalArgumentException var2) { + throw var2; + } + + return var1.length(); + } + + public boolean b(Class param1) { + // $FF: Couldn't be decompiled + } + + static { + char[] var10000; + int var1; + char[] var10001; + int var10002; + int var2; + int var10003; + char[] var4; + char var10004; + byte var10005; + label51: { + var10000 = "\t!\"\u0000r>`/\u0001s<%>\u001a=>/vN".toCharArray(); + var10002 = var10000.length; + var1 = 0; + var10001 = var10000; + var2 = var10002; + if (var10002 <= 1) { + var4 = var10000; + var10003 = var1; + } else { + var10001 = var10000; + var2 = var10002; + if (var10002 <= var1) { + break label51; + } + + var4 = var10000; + var10003 = var1; + } + + while(true) { + var10004 = var4[var10003]; + switch(var1 % 5) { + case 0: + var10005 = 74; + break; + case 1: + var10005 = 64; + break; + case 2: + var10005 = 76; + break; + case 3: + var10005 = 110; + break; + default: + var10005 = 29; + } + + var4[var10003] = (char)(var10004 ^ var10005); + ++var1; + if (var2 == 0) { + var10003 = var2; + var4 = var10001; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10001; + var10003 = var1; + } + } + } + + c = (new String(var10001)).intern(); + var10000 = "\u0016$gFAd\u001c(E4u".toCharArray(); + var10002 = var10000.length; + var1 = 0; + var10001 = var10000; + var2 = var10002; + if (var10002 <= 1) { + var4 = var10000; + var10003 = var1; + } else { + var10001 = var10000; + var2 = var10002; + if (var10002 <= var1) { + b = Pattern.compile((new String(var10000)).intern()); + return; + } + + var4 = var10000; + var10003 = var1; + } + + while(true) { + var10004 = var4[var10003]; + switch(var1 % 5) { + case 0: + var10005 = 74; + break; + case 1: + var10005 = 64; + break; + case 2: + var10005 = 76; + break; + case 3: + var10005 = 110; + break; + default: + var10005 = 29; + } + + var4[var10003] = (char)(var10004 ^ var10005); + ++var1; + if (var2 == 0) { + var10003 = var2; + var4 = var10001; + } else { + if (var2 <= var1) { + b = Pattern.compile((new String(var10001)).intern()); + return; + } + + var4 = var10001; + var10003 = var1; + } + } + } +} diff --git a/testData/obfuscated/p.java b/testData/obfuscated/p.java new file mode 100644 index 0000000..e588675 --- /dev/null +++ b/testData/obfuscated/p.java @@ -0,0 +1,1047 @@ +import java.io.PrintWriter; +import java.io.StringWriter; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Iterator; + +public class p { + protected String a; + protected String b; + protected String c; + private String d; + private String e; + private Throwable f; + private static final String[] g; + + public p(String var1, String var2, Throwable var3, String var4) { + int var10 = s.d; + super(); + this.e = ""; + this.a = var1; + this.c = var2; + this.f = var3; + ArrayList var5 = new ArrayList(Arrays.asList(Thread.currentThread().getStackTrace())); + int var6 = 3; + + while(!var5.isEmpty()) { + try { + if (var6 <= 0) { + break; + } + + var5.remove(0); + --var6; + if (var10 == 0) { + continue; + } + } catch (a_ var16) { + throw var16; + } + + int var11 = ap.c; + ++var11; + ap.c = var11; + break; + } + + StringBuilder var7 = new StringBuilder(); + Iterator var8 = var5.iterator(); + + while(true) { + if (var8.hasNext()) { + StackTraceElement var9 = (StackTraceElement)var8.next(); + + try { + var7.append(var9.getClassName()); + var7.append("."); + var7.append(var9.getMethodName()); + var7.append(g[0]); + var7.append(var9.getFileName()); + var7.append(":"); + var7.append(var9.getLineNumber()); + var7.append(")"); + var7.append("\n"); + if (var10 != 0) { + break; + } + + if (var10 == 0) { + continue; + } + } catch (a_ var15) { + throw var15; + } + } + + this.d = var7.toString(); + break; + } + + p var10000; + String var10001; + label56: { + label55: { + label54: { + try { + if (var10 != 0) { + break label55; + } + + if (var3 == null) { + break label54; + } + } catch (a_ var14) { + throw var14; + } + + StringWriter var17 = new StringWriter(); + PrintWriter var18 = new PrintWriter(var17); + var3.printStackTrace(var18); + this.e = var17.toString(); + var18.close(); + } + + try { + var10000 = this; + var10001 = var4; + if (var10 != 0) { + break label56; + } + + this.b = var4; + } catch (a_ var13) { + throw var13; + } + } + + try { + if (var4 != null) { + return; + } + + var10000 = this; + var10001 = var1; + } catch (a_ var12) { + throw var12; + } + } + + var10000.b = var10001; + } + + public String a() { + return this.c; + } + + public String b() { + return this.d; + } + + public String c() { + return this.b; + } + + public String d() { + return this.e; + } + + public String toString() { + StringBuilder var1 = new StringBuilder(); + var1.append(this.e()); + var1.append(g[4]); + var1.append(this.a()); + var1.append(g[1]); + var1.append(g[3]); + var1.append(this.c()); + var1.append(g[2]); + return var1.toString(); + } + + public String e() { + return this.a; + } + + public Throwable f() { + return this.f; + } + + static { + String[] var10000 = new String[5]; + char[] var10003 = "D@".toCharArray(); + int var10005 = var10003.length; + int var1 = 0; + char[] var10004 = var10003; + int var2 = var10005; + char[] var4; + int var10006; + char var10007; + byte var10008; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 100; + break; + case 1: + var10008 = 104; + break; + case 2: + var10008 = 14; + break; + case 3: + var10008 = 21; + break; + default: + var10008 = 25; + } + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + label316: { + var10000[0] = (new String(var10003)).intern(); + var10003 = "nE#84IE#84IE#84IE#84IE#84IE#84IE#84IE#84IE#84Ib".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + break label316; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 100; + break; + case 1: + var10008 = 104; + break; + case 2: + var10008 = 14; + break; + case 3: + var10008 = 21; + break; + default: + var10008 = 25; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[1] = (new String(var10004)).intern(); + var10003 = "nE#84IE#84IE#84IE#84IE#84IE#84IE#84IE#84IE#84Ib".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 100; + break; + case 1: + var10008 = 104; + break; + case 2: + var10008 = 14; + break; + case 3: + var10008 = 21; + break; + default: + var10008 = 25; + } + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + label384: { + var10000[2] = (new String(var10003)).intern(); + var10003 = "(\u0007mtm\r\u0007`/\u0013".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + break label384; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 100; + break; + case 1: + var10008 = 104; + break; + case 2: + var10008 = 14; + break; + case 3: + var10008 = 21; + break; + default: + var10008 = 25; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[3] = (new String(var10004)).intern(); + var10003 = "Db#84IE#84IE#84IE#84IE#84IE#84IE#84IE#84IE#84IE\u0004".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + var10000[4] = (new String(var10003)).intern(); + g = var10000; + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 100; + break; + case 1: + var10008 = 104; + break; + case 2: + var10008 = 14; + break; + case 3: + var10008 = 21; + break; + default: + var10008 = 25; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[4] = (new String(var10004)).intern(); + g = var10000; + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var4 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 100; + break; + case 1: + var10008 = 104; + break; + case 2: + var10008 = 14; + break; + case 3: + var10008 = 21; + break; + default: + var10008 = 25; + } + } + + while(true) { + while(true) { + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + var10007 = var10004[var2]; + switch(var1 % 5) { + case 0: + var10008 = 100; + break; + case 1: + var10008 = 104; + break; + case 2: + var10008 = 14; + break; + case 3: + var10008 = 21; + break; + default: + var10008 = 25; + } + } else { + if (var2 <= var1) { + label492: { + var10000[2] = (new String(var10004)).intern(); + var10003 = "(\u0007mtm\r\u0007`/\u0013".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + break label492; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 100; + break; + case 1: + var10008 = 104; + break; + case 2: + var10008 = 14; + break; + case 3: + var10008 = 21; + break; + default: + var10008 = 25; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[3] = (new String(var10004)).intern(); + var10003 = "Db#84IE#84IE#84IE#84IE#84IE#84IE#84IE#84IE#84IE\u0004".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + var10000[4] = (new String(var10003)).intern(); + g = var10000; + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 100; + break; + case 1: + var10008 = 104; + break; + case 2: + var10008 = 14; + break; + case 3: + var10008 = 21; + break; + default: + var10008 = 25; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[4] = (new String(var10004)).intern(); + g = var10000; + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var4 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 100; + break; + case 1: + var10008 = 104; + break; + case 2: + var10008 = 14; + break; + case 3: + var10008 = 21; + break; + default: + var10008 = 25; + } + } + } + } + } + + var4 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 100; + break; + case 1: + var10008 = 104; + break; + case 2: + var10008 = 14; + break; + case 3: + var10008 = 21; + break; + default: + var10008 = 25; + } + } + + while(true) { + while(true) { + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + var10007 = var10004[var2]; + switch(var1 % 5) { + case 0: + var10008 = 100; + break; + case 1: + var10008 = 104; + break; + case 2: + var10008 = 14; + break; + case 3: + var10008 = 21; + break; + default: + var10008 = 25; + } + } else { + if (var2 <= var1) { + label129: { + var10000[0] = (new String(var10004)).intern(); + var10003 = "nE#84IE#84IE#84IE#84IE#84IE#84IE#84IE#84IE#84Ib".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + break label129; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 100; + break; + case 1: + var10008 = 104; + break; + case 2: + var10008 = 14; + break; + case 3: + var10008 = 21; + break; + default: + var10008 = 25; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[1] = (new String(var10004)).intern(); + var10003 = "nE#84IE#84IE#84IE#84IE#84IE#84IE#84IE#84IE#84Ib".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 100; + break; + case 1: + var10008 = 104; + break; + case 2: + var10008 = 14; + break; + case 3: + var10008 = 21; + break; + default: + var10008 = 25; + } + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + label173: { + var10000[2] = (new String(var10003)).intern(); + var10003 = "(\u0007mtm\r\u0007`/\u0013".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + break label173; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 100; + break; + case 1: + var10008 = 104; + break; + case 2: + var10008 = 14; + break; + case 3: + var10008 = 21; + break; + default: + var10008 = 25; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[3] = (new String(var10004)).intern(); + var10003 = "Db#84IE#84IE#84IE#84IE#84IE#84IE#84IE#84IE#84IE\u0004".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + var10000[4] = (new String(var10003)).intern(); + g = var10000; + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 100; + break; + case 1: + var10008 = 104; + break; + case 2: + var10008 = 14; + break; + case 3: + var10008 = 21; + break; + default: + var10008 = 25; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[4] = (new String(var10004)).intern(); + g = var10000; + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var4 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 100; + break; + case 1: + var10008 = 104; + break; + case 2: + var10008 = 14; + break; + case 3: + var10008 = 21; + break; + default: + var10008 = 25; + } + } + + while(true) { + while(true) { + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + var10007 = var10004[var2]; + switch(var1 % 5) { + case 0: + var10008 = 100; + break; + case 1: + var10008 = 104; + break; + case 2: + var10008 = 14; + break; + case 3: + var10008 = 21; + break; + default: + var10008 = 25; + } + } else { + if (var2 <= var1) { + label93: { + var10000[2] = (new String(var10004)).intern(); + var10003 = "(\u0007mtm\r\u0007`/\u0013".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + break label93; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 100; + break; + case 1: + var10008 = 104; + break; + case 2: + var10008 = 14; + break; + case 3: + var10008 = 21; + break; + default: + var10008 = 25; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[3] = (new String(var10004)).intern(); + var10003 = "Db#84IE#84IE#84IE#84IE#84IE#84IE#84IE#84IE#84IE\u0004".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + var10000[4] = (new String(var10003)).intern(); + g = var10000; + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 100; + break; + case 1: + var10008 = 104; + break; + case 2: + var10008 = 14; + break; + case 3: + var10008 = 21; + break; + default: + var10008 = 25; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[4] = (new String(var10004)).intern(); + g = var10000; + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var4 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 100; + break; + case 1: + var10008 = 104; + break; + case 2: + var10008 = 14; + break; + case 3: + var10008 = 21; + break; + default: + var10008 = 25; + } + } + } + } + } + + var4 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 100; + break; + case 1: + var10008 = 104; + break; + case 2: + var10008 = 14; + break; + case 3: + var10008 = 21; + break; + default: + var10008 = 25; + } + } + } + } + } +} diff --git a/testData/obfuscated/q.java b/testData/obfuscated/q.java new file mode 100644 index 0000000..2d00496 --- /dev/null +++ b/testData/obfuscated/q.java @@ -0,0 +1,3 @@ +public interface q { + void a(p var1); +} diff --git a/testData/obfuscated/r.java b/testData/obfuscated/r.java new file mode 100644 index 0000000..173e7e3 --- /dev/null +++ b/testData/obfuscated/r.java @@ -0,0 +1,172 @@ +import java.sql.SQLException; +import java.util.List; +import java.util.logging.Logger; + +public class r { + public static final Logger a; + @x( + a = q.class + ) + private static List b; + private static final String[] c; + + public static s a(String var0) { + return new s(var0); + } + + private static a9 a(p param0) { + // $FF: Couldn't be decompiled + } + + public static a9 a(Throwable var0) { + try { + if (var0 instanceof a9) { + return (a9)var0; + } + } catch (a9 var1) { + throw var1; + } + + try { + if (var0 instanceof SQLException) { + return a(c[0]).a(var0).a(); + } + } catch (a9 var2) { + throw var2; + } + + return a(c[1]).a(var0).a(); + } + + static a9 b(p var0) { + return a(var0); + } + + static { + String[] var10000; + int var1; + int var2; + char[] var10003; + char[] var10004; + char[] var4; + int var10005; + int var10006; + char var10007; + byte var10008; + label51: { + var10000 = new String[2]; + var10003 = "hzE\u0016\u0001nt\u0002\u0007\u000bi|\u000275W\\T\u0007\u0001kmE\u000b\n".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + break label51; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 27; + break; + case 1: + var10008 = 25; + break; + case 2: + var10008 = 44; + break; + case 3: + var10008 = 100; + break; + default: + var10008 = 100; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[0] = (new String(var10004)).intern(); + var10003 = "hzE\u0016\u0001nt\u0002\u0007\u000bi|\u00021\n~a\\\u0001\u0007o|H!\u001cx|\\\u0010\rtw".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + var10000[1] = (new String(var10003)).intern(); + c = var10000; + a = Logger.getLogger(r.class.getName()); + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 27; + break; + case 1: + var10008 = 25; + break; + case 2: + var10008 = 44; + break; + case 3: + var10008 = 100; + break; + default: + var10008 = 100; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[1] = (new String(var10004)).intern(); + c = var10000; + a = Logger.getLogger(r.class.getName()); + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } +} diff --git a/testData/obfuscated/s.java b/testData/obfuscated/s.java new file mode 100644 index 0000000..bc0b96e --- /dev/null +++ b/testData/obfuscated/s.java @@ -0,0 +1,937 @@ +import java.util.LinkedHashMap; +import java.util.Map; + +public class s { + private final String a; + private Map b = new LinkedHashMap(); + private Throwable c; + public static int d; + private static final String[] e; + + public s(String var1) { + this.a = var1; + } + + public s a(Throwable var1) { + this.c = var1; + return this; + } + + public s a(String var1, Object var2) { + try { + if (var2 != null) { + this.b.put(var1, var2.toString()); + } + + return this; + } catch (a_ var3) { + throw var3; + } + } + + public a9 a() { + return r.b(this.b()); + } + + protected p b() { + // $FF: Couldn't be decompiled + } + + protected static String b(Throwable var0) { + String var1 = "-"; + StackTraceElement[] var2; + if (var0 != null) { + var2 = var0.getStackTrace(); + if (var2.length > 0) { + var1 = var2[0].getFileName() + ":" + var2[0].getLineNumber() + "[" + var2[0].getClassName() + "." + var2[0].getMethodName() + "]"; + } + } else { + var2 = Thread.currentThread().getStackTrace(); + if (var2.length > 5) { + var1 = var2[5].getFileName() + ":" + var2[5].getLineNumber() + "[" + var2[5].getClassName() + "." + var2[5].getMethodName() + "]"; + } + } + + return var1; + } + + static { + String[] var10000 = new String[5]; + char[] var10003 = "][BX\u0014\u0014\u000bsI\u0018\u001fA'".toCharArray(); + int var10005 = var10003.length; + int var1 = 0; + char[] var10004 = var10003; + int var2 = var10005; + char[] var4; + int var10006; + char var10007; + byte var10008; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 113; + break; + case 1: + var10008 = 123; + break; + case 2: + var10008 = 7; + break; + case 3: + var10008 = 32; + break; + default: + var10008 = 119; + } + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + label316: { + var10000[0] = (new String(var10003)).intern(); + var10003 = "\u001e\tnG\u001e\u001f".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + break label316; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 113; + break; + case 1: + var10008 = 123; + break; + case 2: + var10008 = 7; + break; + case 3: + var10008 = 32; + break; + default: + var10008 = 119; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[1] = (new String(var10004)).intern(); + var10003 = "K[".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 113; + break; + case 1: + var10008 = 123; + break; + case 2: + var10008 = 7; + break; + case 3: + var10008 = 32; + break; + default: + var10008 = 119; + } + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + label384: { + var10000[2] = (new String(var10003)).intern(); + var10003 = "QF'".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + break label384; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 113; + break; + case 1: + var10008 = 123; + break; + case 2: + var10008 = 7; + break; + case 3: + var10008 = 32; + break; + default: + var10008 = 119; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[3] = (new String(var10004)).intern(); + var10003 = "][".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + var10000[4] = (new String(var10003)).intern(); + e = var10000; + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 113; + break; + case 1: + var10008 = 123; + break; + case 2: + var10008 = 7; + break; + case 3: + var10008 = 32; + break; + default: + var10008 = 119; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[4] = (new String(var10004)).intern(); + e = var10000; + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var4 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 113; + break; + case 1: + var10008 = 123; + break; + case 2: + var10008 = 7; + break; + case 3: + var10008 = 32; + break; + default: + var10008 = 119; + } + } + + while(true) { + while(true) { + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + var10007 = var10004[var2]; + switch(var1 % 5) { + case 0: + var10008 = 113; + break; + case 1: + var10008 = 123; + break; + case 2: + var10008 = 7; + break; + case 3: + var10008 = 32; + break; + default: + var10008 = 119; + } + } else { + if (var2 <= var1) { + label492: { + var10000[2] = (new String(var10004)).intern(); + var10003 = "QF'".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + break label492; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 113; + break; + case 1: + var10008 = 123; + break; + case 2: + var10008 = 7; + break; + case 3: + var10008 = 32; + break; + default: + var10008 = 119; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[3] = (new String(var10004)).intern(); + var10003 = "][".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + var10000[4] = (new String(var10003)).intern(); + e = var10000; + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 113; + break; + case 1: + var10008 = 123; + break; + case 2: + var10008 = 7; + break; + case 3: + var10008 = 32; + break; + default: + var10008 = 119; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[4] = (new String(var10004)).intern(); + e = var10000; + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var4 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 113; + break; + case 1: + var10008 = 123; + break; + case 2: + var10008 = 7; + break; + case 3: + var10008 = 32; + break; + default: + var10008 = 119; + } + } + } + } + } + + var4 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 113; + break; + case 1: + var10008 = 123; + break; + case 2: + var10008 = 7; + break; + case 3: + var10008 = 32; + break; + default: + var10008 = 119; + } + } + + while(true) { + while(true) { + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + var10007 = var10004[var2]; + switch(var1 % 5) { + case 0: + var10008 = 113; + break; + case 1: + var10008 = 123; + break; + case 2: + var10008 = 7; + break; + case 3: + var10008 = 32; + break; + default: + var10008 = 119; + } + } else { + if (var2 <= var1) { + label129: { + var10000[0] = (new String(var10004)).intern(); + var10003 = "\u001e\tnG\u001e\u001f".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + break label129; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 113; + break; + case 1: + var10008 = 123; + break; + case 2: + var10008 = 7; + break; + case 3: + var10008 = 32; + break; + default: + var10008 = 119; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[1] = (new String(var10004)).intern(); + var10003 = "K[".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 113; + break; + case 1: + var10008 = 123; + break; + case 2: + var10008 = 7; + break; + case 3: + var10008 = 32; + break; + default: + var10008 = 119; + } + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + label173: { + var10000[2] = (new String(var10003)).intern(); + var10003 = "QF'".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + break label173; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 113; + break; + case 1: + var10008 = 123; + break; + case 2: + var10008 = 7; + break; + case 3: + var10008 = 32; + break; + default: + var10008 = 119; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[3] = (new String(var10004)).intern(); + var10003 = "][".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + var10000[4] = (new String(var10003)).intern(); + e = var10000; + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 113; + break; + case 1: + var10008 = 123; + break; + case 2: + var10008 = 7; + break; + case 3: + var10008 = 32; + break; + default: + var10008 = 119; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[4] = (new String(var10004)).intern(); + e = var10000; + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var4 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 113; + break; + case 1: + var10008 = 123; + break; + case 2: + var10008 = 7; + break; + case 3: + var10008 = 32; + break; + default: + var10008 = 119; + } + } + + while(true) { + while(true) { + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + var10007 = var10004[var2]; + switch(var1 % 5) { + case 0: + var10008 = 113; + break; + case 1: + var10008 = 123; + break; + case 2: + var10008 = 7; + break; + case 3: + var10008 = 32; + break; + default: + var10008 = 119; + } + } else { + if (var2 <= var1) { + label93: { + var10000[2] = (new String(var10004)).intern(); + var10003 = "QF'".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + break label93; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 113; + break; + case 1: + var10008 = 123; + break; + case 2: + var10008 = 7; + break; + case 3: + var10008 = 32; + break; + default: + var10008 = 119; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[3] = (new String(var10004)).intern(); + var10003 = "][".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + var10000[4] = (new String(var10003)).intern(); + e = var10000; + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 113; + break; + case 1: + var10008 = 123; + break; + case 2: + var10008 = 7; + break; + case 3: + var10008 = 32; + break; + default: + var10008 = 119; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[4] = (new String(var10004)).intern(); + e = var10000; + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var4 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 113; + break; + case 1: + var10008 = 123; + break; + case 2: + var10008 = 7; + break; + case 3: + var10008 = 32; + break; + default: + var10008 = 119; + } + } + } + } + } + + var4 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 113; + break; + case 1: + var10008 = 123; + break; + case 2: + var10008 = 7; + break; + case 3: + var10008 = 32; + break; + default: + var10008 = 119; + } + } + } + } + } +} diff --git a/testData/obfuscated/u.java b/testData/obfuscated/u.java new file mode 100644 index 0000000..1ac386e --- /dev/null +++ b/testData/obfuscated/u.java @@ -0,0 +1,5 @@ +public interface u { + void a(Class var1) throws Exception; + + void a() throws Exception; +} diff --git a/testData/obfuscated/v.java b/testData/obfuscated/v.java new file mode 100644 index 0000000..8705a52 --- /dev/null +++ b/testData/obfuscated/v.java @@ -0,0 +1,379 @@ +import java.lang.reflect.Field; +import java.util.logging.Level; + +public class v { + private static final String[] a; + + public static Object a(Object var0) { + try { + if (var0 != null) { + a(var0, var0.getClass()); + } + + return var0; + } catch (IllegalArgumentException var1) { + throw var1; + } + } + + private static void a(Object param0, Class param1) { + // $FF: Couldn't be decompiled + } + + private static void a(Field param0, Object param1) { + // $FF: Couldn't be decompiled + } + + private static void b(Field var0, Object var1) { + try { + var0.set(var1, t.a(var0.getType())); + } catch (Throwable var3) { + t.a.log(Level.WARNING, var1.getClass() + "." + var0.getName() + a[0] + var3.getMessage(), var3); + } + + } + + public I a(Class var1) { + try { + return a(var1.newInstance()); + } catch (Throwable var3) { + throw new IllegalArgumentException(var3); + } + } + + static { + String[] var10000 = new String[3]; + char[] var10003 = "]\u0007".toCharArray(); + int var10005 = var10003.length; + int var1 = 0; + char[] var10004 = var10003; + int var2 = var10005; + char[] var4; + int var10006; + char var10007; + byte var10008; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 103; + break; + case 1: + var10008 = 39; + break; + case 2: + var10008 = 44; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 93; + } + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + label127: { + var10000[0] = (new String(var10003)).intern(); + var10003 = "]\u0007".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + break label127; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 103; + break; + case 1: + var10008 = 39; + break; + case 2: + var10008 = 44; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 93; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[1] = (new String(var10004)).intern(); + var10003 = "]\u0007lg3\rBOZ\u0011\u000eTX\u000e/\u0002VYG/\u0002C\fO}\rFZOs\u0012SEBs+N_Za\"\u0019\fO.GAEK1\u0003\u0007XW-\u0002".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + var10000[2] = (new String(var10003)).intern(); + a = var10000; + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 103; + break; + case 1: + var10008 = 39; + break; + case 2: + var10008 = 44; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 93; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[2] = (new String(var10004)).intern(); + a = var10000; + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var4 = var10003; + var10006 = var1; + var10007 = var10003[var1]; + switch(var1 % 5) { + case 0: + var10008 = 103; + break; + case 1: + var10008 = 39; + break; + case 2: + var10008 = 44; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 93; + } + } + + while(true) { + while(true) { + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + var10007 = var10004[var2]; + switch(var1 % 5) { + case 0: + var10008 = 103; + break; + case 1: + var10008 = 39; + break; + case 2: + var10008 = 44; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 93; + } + } else { + if (var2 <= var1) { + label65: { + var10000[0] = (new String(var10004)).intern(); + var10003 = "]\u0007".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + break label65; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 103; + break; + case 1: + var10008 = 39; + break; + case 2: + var10008 = 44; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 93; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + break; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var10000[1] = (new String(var10004)).intern(); + var10003 = "]\u0007lg3\rBOZ\u0011\u000eTX\u000e/\u0002VYG/\u0002C\fO}\rFZOs\u0012SEBs+N_Za\"\u0019\fO.GAEK1\u0003\u0007XW-\u0002".toCharArray(); + var10005 = var10003.length; + var1 = 0; + var10004 = var10003; + var2 = var10005; + if (var10005 <= 1) { + var4 = var10003; + var10006 = var1; + } else { + var10004 = var10003; + var2 = var10005; + if (var10005 <= var1) { + var10000[2] = (new String(var10003)).intern(); + a = var10000; + return; + } + + var4 = var10003; + var10006 = var1; + } + + while(true) { + var10007 = var4[var10006]; + switch(var1 % 5) { + case 0: + var10008 = 103; + break; + case 1: + var10008 = 39; + break; + case 2: + var10008 = 44; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 93; + } + + var4[var10006] = (char)(var10007 ^ var10008); + ++var1; + if (var2 == 0) { + var10006 = var2; + var4 = var10004; + } else { + if (var2 <= var1) { + var10000[2] = (new String(var10004)).intern(); + a = var10000; + return; + } + + var4 = var10004; + var10006 = var1; + } + } + } + + var4 = var10004; + var10006 = var1; + var10007 = var10004[var1]; + switch(var1 % 5) { + case 0: + var10008 = 103; + break; + case 1: + var10008 = 39; + break; + case 2: + var10008 = 44; + break; + case 3: + var10008 = 46; + break; + default: + var10008 = 93; + } + } + } + } + } +} diff --git a/testData/obfuscated/w.java b/testData/obfuscated/w.java new file mode 100644 index 0000000..d25151d --- /dev/null +++ b/testData/obfuscated/w.java @@ -0,0 +1,9 @@ +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Retention(RetentionPolicy.RUNTIME) +@Target({ElementType.FIELD}) +public @interface w { +} diff --git a/testData/obfuscated/x.java b/testData/obfuscated/x.java new file mode 100644 index 0000000..f9a151e --- /dev/null +++ b/testData/obfuscated/x.java @@ -0,0 +1,10 @@ +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Retention(RetentionPolicy.RUNTIME) +@Target({ElementType.FIELD}) +public @interface x { + Class a(); +} diff --git a/testData/obfuscated/y.java b/testData/obfuscated/y.java new file mode 100644 index 0000000..d82c70f --- /dev/null +++ b/testData/obfuscated/y.java @@ -0,0 +1,18 @@ +public class y

{ + private P a; + private Class

b; + private boolean c; + public static int d; + + private y(Class

var1) { + this.b = var1; + } + + public static

y

a(Class

var0) { + return new y(var0); + } + + public P a() { + // $FF: Couldn't be decompiled + } +} diff --git a/testData/obfuscated/z.java b/testData/obfuscated/z.java new file mode 100644 index 0000000..dfb0e0b --- /dev/null +++ b/testData/obfuscated/z.java @@ -0,0 +1,22 @@ +import java.util.List; + +public class z

{ + private List

a; + private Class

b; + + private z(Class

var1) { + this.b = var1; + } + + public static

z

a(Class

var0) { + return new z(var0); + } + + public List

a() { + // $FF: Couldn't be decompiled + } + + public List

b() { + return t.b(this.b); + } +}