7  java/lang/Object()V   org/freertr/sec/secSshlowerLorg/freertr/pipe/pipeSide;  org/freertr/pipe/pipeSidesetTime(I)V  userPLorg/freertr/pipe/pipeLine;  org/freertr/pipe/pipeLinegetSide()Lorg/freertr/pipe/pipeSide;  userS " # userC % &'clientZ ) *+clntUserLjava/lang/String; - .+clntPass 0 12 clntPubkey[B 4 5 workerStart 7 89servAuthLorg/freertr/auth/authGeneric; ; <=keyrsaLorg/freertr/cry/cryKeyRSA; ? @AkeydsaLorg/freertr/cry/cryKeyDSA; C DEkeyecdsaLorg/freertr/cry/cryKeyECDSA; G HIkeymldsaLorg/freertr/cry/cryKeyMLDSA;Kjava/lang/Thread JM N(Ljava/lang/Runnable;)V JP Qstart S T workerClient V W workerServerYjava/lang/Exception [\] ^_org/freertr/util/logger traceback(Ljava/lang/Throwable;)V a bcsetClose()Z e b ghi j'org/freertr/util/debugger secSshTrafl main stopped [n opdebug(Ljava/lang/String;)V rst u+org/freertr/pack/packSshAuthmethodworg/freertr/pack/packSshynone {|} ~java/lang/Stringequals(Ljava/lang/Object;)Z r +username  org/freertr/auth/authGeneric authUserNone1(Ljava/lang/String;)Lorg/freertr/auth/authResult;  servUserLorg/freertr/auth/authResult;  org/freertr/auth/authResultresultIpassword r +  authUserPassC(Ljava/lang/String;Ljava/lang/String;)Lorg/freertr/auth/authResult; publickeyorg/freertr/pack/packSshInit (Lorg/freertr/pack/packSsh;)V  kexInitFillt(ZLorg/freertr/cry/cryKeyDSA;Lorg/freertr/cry/cryKeyRSA;Lorg/freertr/cry/cryKeyECDSA;Lorg/freertr/cry/cryKeyMLDSA;)V psetupKeyVerifier r 2pkeySign getKeyVerifier!()Lorg/freertr/cry/cryKeyGeneric; r 2pkeyBlob  org/freertr/cry/cryKeyGeneric sshReader([B)Z  authUserPkeyP(Lorg/freertr/cry/cryKeyGeneric;Ljava/lang/String;)Lorg/freertr/auth/authResult; r authPkeyCreate v packSend   doPackRecv r c authReqParse getKeyHashAlgo"()Lorg/freertr/cry/cryHashGeneric; getKeyHashAlgn()Ljava/lang/String; r getAuthen2signed()[B (Lorg/freertr/cry/cryKeyGeneric;Lorg/freertr/cry/cryHashGeneric;Ljava/lang/String;[BLjava/lang/String;[B)Lorg/freertr/auth/authResult;  csetReady v  copyBytes()Lorg/freertr/pack/packSsh;  pckRxLorg/freertr/pack/packSsh;  pckTxorg/freertr/sec/secSshRx (Lorg/freertr/sec/secSsh;)Vorg/freertr/sec/secSshTx  org/freertr/util/bitssleep  isClosed()I v packRecv v pckTyporg/freertr/pack/packSshChan  cchanWindowParse  cextensInfoParse  c chanDataParse   2buf  morePut([BII)I   chanBytes  c chanOpenParse  chanRem  openFailCreate  c chanReqParse  !"processChanReq;(Lorg/freertr/pack/packSsh;Lorg/freertr/pack/packSshChan;)Z $ %' needReply  ( )chanFailCreate + ,chanSuccCreate v. / pipe 1 2getTime 4 5window 7 8chanWindowCreate : ; blockingGet = > nonBlockGet @ AchanDataCreate C D+typeFxon-xoffHsignalJ window-change vL MNpckDatLorg/freertr/pack/packHolder; PQR STorg/freertr/pack/packHoldermsbGetD(I)I VWX YZorg/freertr/user/userRead setTermWdt(Lorg/freertr/pipe/pipeSide;I)V V\ ]Z setTermLen_starting v b cexchangeVersioneorg/freertr/pack/packSshKex d h i+ remoteVersion dk lphashStr n ogetLocalVersion dq rhashSwap t uv kexInitCreate(Z)V dx yhashPck d{ | hashMerge ~  kexInitParse(Z)Z   kexInitChoose?(Lorg/freertr/pack/packSshInit;Lorg/freertr/pack/packSshInit;)Z   getDHgroup d keygenLorg/freertr/cry/cryKeyGeneric;   getDHhash d hasher Lorg/freertr/cry/cryHashGeneric;   sshWriter d 2cert d hashInt d hashBuf([B)V   keyMakeVal d hashPay d c gexReqParse d  gexGroupFill d gexGroupCreate d  hashParams d c gexInitParse   keyServInit   keyServCalc d  hashCalcDHG d  gexReplyFillT(Lorg/freertr/cry/cryHashGeneric;Ljava/lang/String;Lorg/freertr/cry/cryKeyGeneric;)V d gexReplyCreate d c d kexReplyCreate  cnewKeysExchange d encSetup"(Lorg/freertr/pack/packSshInit;Z)V  'kexExts  extensInfoCreate r :(Lorg/freertr/pack/packSsh;Lorg/freertr/pack/packSshKex;)V r c servReqParse r +service ssh-userauth r pservActpCreate   serverAuther;(Lorg/freertr/pack/packSsh;Lorg/freertr/pack/packSshAuth;)I  random(II)I r authFailCreateorg/freertr/pipe/pipeSetting   settingsPut(ILjava/lang/Object;)V r authSuccCreate  openDoneCreate  chanLoc shellexec subsystempty-req v   stringRead env   workerThreads d  gexReqFill d  gexReqCreate d c gexGroupParse d  gexInitFill d  gexInitCreate d !c gexReplyParse # $ keyClntCalc d& u d( )c kexReplyParse +,- ./org/freertr/enc/encBase64 encodeBytes([B)Ljava/lang/String;1 23makeConcatWithConstants&(Ljava/lang/String;)Ljava/lang/String; 5 67byteComp ([BI[BII)I d9 :2hashVal d< =2sign ? @A sshVerify9(Lorg/freertr/cry/cryHashGeneric;Ljava/lang/String;[B[B)Z rC Dp servReqCreate rF Gc servAcptParseIssh-connection rK Lp authReqCreate rN Oc authSuccParse Q RchanOpenCreate T Uc openDoneParse W XchanReqCreatePty Z [c chanSuccParse ] ^chanReqCreateShll`java/lang/RunnableportNum ConstantValue9(Lorg/freertr/pipe/pipeSide;Lorg/freertr/pipe/pipeLine;)VCodeLineNumberTablegetPipe startClient)([BLjava/lang/String;Ljava/lang/String;)V startServer(Lorg/freertr/auth/authGeneric;Lorg/freertr/cry/cryKeyRSA;Lorg/freertr/cry/cryKeyDSA;Lorg/freertr/cry/cryKeyECDSA;Lorg/freertr/cry/cryKeyMLDSA;)Vrun StackMapTableoorg/freertr/cry/cryHashGeneric workerStopworkerRxworkerTx2 SourceFile secSsh.javaBootstrapMethodsxpubkey z {|} 2~$java/lang/invoke/StringConcatFactory(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; InnerClasses%java/lang/invoke/MethodHandles$Lookupjava/lang/invoke/MethodHandlesLookup!_ # &' 89<=@ADEHI12*+.+abcder:**+* *,*,*,!*! * f&  '09ge*!fhieE*$*,(*-,*+/*3f jkeY%*$*+6*,:*->*B*F*3f"  $5e( JY*LOf  le5*$ *R*UL+Z*`W*dfkmXf. ")/4m BXer[,qxz***6,**,qz.**6,,**,qzYN--,,[-:,**6,**,+*+,ƙ-:-:-:,**6,,,յ**f4 "$/13?RY[fhjvx    $ &CJLWYm-$ '  -    n { % ex;*W*+۵*+۵Y*WY*W*f"!*0 :!m*pe0*d*`Wf*+,et++khhhU5hPh]DY+M,Y+N-f* 01L3U4\5]9f:m;pCsEm Kqe/_Y*߷L*߶*ߴD AAAPAZ}]9^R_Rb+*+ +  W*Y+ `x++=Y*L++*Y*߷L@+**+;+#"Y*L+*&+'*Y*߷L+#Y*L+*&+**Y*߷L+f(N PQlTsUtWXY[\^_`abcdfgijkmnop qrt"u%w1x9y=zD{P|S~Z[^m _"/- -reY»Y*L*-*0*++*&+*3+6**Y+3dM*,9>*,,d<66+` + }>+ + ,3T+*&+?*Mff '/7;BOU`dety|m Bs!"eM,BEz,BGz,BIz#*+KOU*+KO[f&  +:IKm,Weef ^mvY`L+*-Y+M,adY+fN-,gj-mj-p,*>*:*B*F,s-w+*+-p-w-z,},,-,-,,:------d*+-----+-*+-----,,-+8*+-ř----,,-+,ʙ-,,љ ,+rY+-:*+ڙz+6*+ƙ7*+6+ `+**+*+ûY+:*&*+*+*&*+#*+Bz#*+Bz#*+Bz#*+~Bz:+W*+KOU*+KO[#/*+#B z# *+#'+*+ f %)2:AEZ_cglptx  ',34;BFTX\cdjqu y   !"$&') *+,-%.-/.172<3E4I6N7V8W:`;j<r=w>~BCDEIJKLPQRSWXYZ[\"])a7b?cDdKhSiXj_mdnmG tvd K * 'r, &!!!D!Teatf ^mvY`L+*-dY+fMY+N-a,mj,-gj--s,w+*+,w,p-}--,-,-,d,,,+*+,,,,+*+,,",p,,,,,z,@,,%+*+,',",p,,,,,z,*/<f,*0m*/,*/,*/4-:,--,8,;>-ʙ,-ͻrY+,:B+*+E*(*,HJ+*+MY+:P*+*+S*&*&V+*+Y*&\+*+Y*+ fiqr tuv%w.x2y9zA{J|O}S~W\`dlmvw   (,07=LYZopv $%.7<@EMNW\`emnsm/ `vd 7&# *r+)(tuvyw