7  "net/luminis/quic/stream/BaseStream()V   net/luminis/quic/CryptoStream msgSizeReadZ   quicVersion Lnet/luminis/quic/VersionHolder;  encryptionLevel"Lnet/luminis/quic/EncryptionLevel;  connectionSecrets+Lnet/luminis/quic/crypto/ConnectionSecrets;  net/luminis/quic/Roleother()Lnet/luminis/quic/Role;  !"peerRoleLnet/luminis/quic/Role; $ %& tlsEngine%Lnet/luminis/tls/handshake/TlsEngine; ( )*logLnet/luminis/quic/log/Logger; , -.senderLnet/luminis/quic/send/Sender; 012 3 net/luminis/quic/EncryptionLevel Handshake 567 38"net/luminis/tls/ProtectionKeysType$Lnet/luminis/tls/ProtectionKeysType; 0: ;App 5= >8 Application 5@ A8None C D8tlsProtectionTypeFjava/util/ArrayList E I JKmessagesReceivedLjava/util/List; M NK messagesSentP*net/luminis/tls/handshake/TlsMessageParserR STapplyL(Lnet/luminis/quic/CryptoStream;)Lnet/luminis/tls/extension/ExtensionParser; OV W.(Lnet/luminis/tls/extension/ExtensionParser;)V Y Z[tlsMessageParser,Lnet/luminis/tls/handshake/TlsMessageParser; ] ^K dataToSend ` abadd*(Lnet/luminis/quic/stream/StreamElement;)Z d efbytesAvailable()I h ijmsgSizeI nop qrjava/nio/ByteBufferallocate(I)Ljava/nio/ByteBuffer; t uvread(Ljava/nio/ByteBuffer;)I nx yzget(I)B | }~msgTypeB n put(IB)Ljava/nio/ByteBuffer; n flip()Ljava/nio/ByteBuffer; n fgetInt n rputInt O parseAndProcessHandshakeMessage(Ljava/nio/ByteBuffer;Lnet/luminis/tls/handshake/MessageProcessor;Lnet/luminis/tls/ProtectionKeysType;)Lnet/luminis/tls/handshake/HandshakeMessage; n  hasRemaining()Zjava/lang/RuntimeException   ajava/util/List(Ljava/lang/Object;)Z   readOffset()J makeConcatWithConstants9(Lnet/luminis/quic/frame/CryptoFrame;J)Ljava/lang/String;  net/luminis/quic/log/Loggerdebug(Ljava/lang/String;)Vjava/io/IOException n mark n getShort()S n reset  net/luminis/quic/VersionHolder getVersion()Lnet/luminis/quic/Version;  5net/luminis/quic/tls/QuicTransportParametersExtension isCodepoint(Lnet/luminis/quic/Version;I)Z (Lnet/luminis/quic/Version;)V parse(Ljava/nio/ByteBuffer;Lnet/luminis/quic/Role;Lnet/luminis/quic/log/Logger;)Lnet/luminis/quic/tls/QuicTransportParametersExtension;  java/util/Collections emptyList()Ljava/util/List;   toStringWith$(Ljava/util/List;)Ljava/lang/String; 0 name()Ljava/lang/String;  java/lang/StringcharAt(I)C stream()Ljava/util/stream/Stream; S()Ljava/util/function/Function;  java/util/stream/Streammap8(Ljava/util/function/Function;)Ljava/util/stream/Stream;,  java/util/stream/Collectorsjoining6(Ljava/lang/CharSequence;)Ljava/util/stream/Collector; collect0(Ljava/util/stream/Collector;)Ljava/lang/Object; '(CLjava/lang/String;)Ljava/lang/String;  *net/luminis/tls/handshake/HandshakeMessagegetBytes()[B  write([B)V   net/luminis/quic/send/Senderflush n  wrap([B)Ljava/nio/ByteBuffer;  jsendStreamSize S>(Lnet/luminis/quic/CryptoStream;)Ljava/util/function/Function; accept>(Lnet/luminis/quic/CryptoStream;)Ljava/util/function/Consumer;  send`(Ljava/util/function/Function;ILnet/luminis/quic/EncryptionLevel;Ljava/util/function/Consumer;)V  jdataToSendOffset !"# $%java/lang/Integermin(II)I ' y((I)Ljava/lang/Object; n* +f remaining n- y.([BII)Ljava/nio/ByteBuffer; 0 1(remove3"net/luminis/quic/frame/CryptoFrame 25 6 (Lnet/luminis/quic/Version;J[B)V8 9X(Lnet/luminis/quic/frame/QuicFrame;Lnet/luminis/quic/EncryptionLevel;)Ljava/lang/String; ; <recovery > ?d(Lnet/luminis/quic/frame/QuicFrame;Lnet/luminis/quic/EncryptionLevel;Ljava/util/function/Consumer;)V A BclearDMessage F GHendsWith(Ljava/lang/String;)Z J Kflength M NO substring(II)Ljava/lang/String; QRS TUjava/lang/ObjectgetClass()Ljava/lang/Class; WXY Zjava/lang/Class getSimpleName Signature+Ljava/util/List;'Ljava/util/List;(Lnet/luminis/quic/VersionHolder;Lnet/luminis/quic/EncryptionLevel;Lnet/luminis/quic/crypto/ConnectionSecrets;Lnet/luminis/quic/Role;Lnet/luminis/tls/handshake/TlsEngine;Lnet/luminis/quic/log/Logger;Lnet/luminis/quic/send/Sender;)VCodeLineNumberTableLocalVariableTablethisLnet/luminis/quic/CryptoStream;role StackMapTableg)net/luminis/quic/crypto/ConnectionSecretsi#net/luminis/tls/handshake/TlsEngine'(Lnet/luminis/quic/frame/CryptoFrame;)VbufferLjava/nio/ByteBuffer; msgBuffer tlsMessage,Lnet/luminis/tls/handshake/HandshakeMessage;availableBytesJeLjava/io/IOException; cryptoFrame$Lnet/luminis/quic/frame/CryptoFrame; Exceptionsx$net/luminis/tls/TlsProtocolExceptionquicExtensionsParserh(Ljava/nio/ByteBuffer;Lnet/luminis/tls/TlsConstants$HandshakeType;)Lnet/luminis/tls/extension/Extension;context,Lnet/luminis/tls/TlsConstants$HandshakeType; extensionTypetoStringtoStringReceived toStringSentmessagesLocalVariableTypeTable?(Ljava/util/List;)Ljava/lang/String;getTlsMessages-()Ljava/util/List;0(Lnet/luminis/tls/handshake/HandshakeMessage;Z)Vmessagedata[B sendFrame%(I)Lnet/luminis/quic/frame/QuicFrame; bytesToCopymaxSize leftToSend bytesToSend frameDataframeDataOffsetframeretransmitCrypto%(Lnet/luminis/quic/frame/QuicFrame;)V"Lnet/luminis/quic/frame/QuicFrame;lambda$toStringWith$1&(Ljava/lang/String;)Ljava/lang/String;Ljava/lang/String;lambda$toStringWith$0-(Lnet/luminis/tls/Message;)Ljava/lang/String;msgLnet/luminis/tls/Message; SourceFileCryptoStream.javaBootstrapMethods  "java/lang/invoke/LambdaMetafactory metafactory(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;z  yz  $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;0Discarding , because stream already parsed to &(Ljava/lang/Object;)Ljava/lang/Object;    CryptoStream[|]  7(Ljava/lang/Integer;)Lnet/luminis/quic/frame/QuicFrame;(Ljava/lang/Object;)V  Retransmitting  on level  InnerClasses*net/luminis/tls/TlsConstants$HandshakeTypenet/luminis/tls/TlsConstants HandshakeType%java/lang/invoke/MethodHandles$Lookupjava/lang/invoke/MethodHandlesLookup!D8!"%&)*-.JK[\NK[\Z[^K[]BjBj ij}~^_***+ *,*-**#*'*+*,/ 4,9 <?B*EYGH*EYGL*OY*QUX*EYG\`J>9 ?@AB!C'D-E3G4HAINJTK_LjM{NOaRbcd"%&)*-.eMA0fhL0fh5aj_4*+_*cA* *g* k*D k<m:*sW*w{WW*g* keA* *g*g`m:*gW*{W*s6 eA*W*X*#*B: Y*HW*'+* MY `~ST[.\=^C_J`Ta\bbckdpevghijklmoprsuvxy | ~aRC3kl]ml@ujnopq rsbctue) Gln2Bvwyz_=+W+>+W* ~Y* +**'ǰ`  ;a*=bc=kl={| 3}je;vw~_2*˶Ѱ`a bc_3 **HѰ`a  bc_3 **LѰ`a  bc_8*+ں` '7a8bc8K 8\[_/*H`a bc[_x!*+ *+*L+W`  a !bc!o! e_u5*\+ W*Y+`*+* **`4a5bc5_**d= d >*+* **:6[d*\&n) 6*\&n,W*\&n)*\/W`62Y* *4:*Y``J 9>AG`waR`<jbcj jj>Aj ueS _d(*'+*7:*++**=`'a(bc(t_J***\@` a bc _R*CE**IdL*`a e@ _2*PV`a F@