7C  java/lang/Object()Vnet/luminis/quic/log/Logger  org/mockito/Mockitomock%(Ljava/lang/Class;)Ljava/lang/Object;  )net/luminis/quic/packet/InitialPacketTestloggerLnet/luminis/quic/log/Logger;  java/nio/ByteBufferwrap([B)Ljava/nio/ByteBuffer;   %net/luminis/quic/packet/InitialPacket isInitial(Ljava/nio/ByteBuffer;)Z "#$ %&org/assertj/core/api/Assertions assertThat/(Z)Lorg/assertj/core/api/AbstractBooleanAssert; ()* +,*org/assertj/core/api/AbstractBooleanAssertisTrue.()Lorg/assertj/core/api/AbstractBooleanAssert; (. /,isFalse1Nc1ff00001d08dcd29c5480f39a24000016c5c0fd62ee66cef81ed15b2867db463f62c7ce62e9de 345 67net/luminis/quic/Version IETF_draft_29Lnet/luminis/quic/Version; 9 :(Lnet/luminis/quic/Version;)V<)net/luminis/quic/crypto/ConnectionSecrets >?@ ABnet/luminis/quic/VersionHolderwith<(Lnet/luminis/quic/Version;)Lnet/luminis/quic/VersionHolder; DEF GHnet/luminis/quic/RoleClientLnet/luminis/quic/Role; ;J Kk(Lnet/luminis/quic/VersionHolder;Lnet/luminis/quic/Role;Ljava/nio/file/Path;Lnet/luminis/quic/log/Logger;)VMdcd29c5480f39a24 OPQ RSnet/luminis/tls/util/ByteUtils hexToBytes(Ljava/lang/String;)[B ;U VWcomputeInitialKeys([B)V YZ[ \] net/luminis/quic/EncryptionLevelInitial"Lnet/luminis/quic/EncryptionLevel; ;_ `a getServerAeadB(Lnet/luminis/quic/EncryptionLevel;)Lnet/luminis/quic/crypto/Aead; c deparseU(Ljava/nio/ByteBuffer;Lnet/luminis/quic/crypto/Aead;JLnet/luminis/quic/log/Logger;I)V g higetToken()[B "k %l2([B)Lorg/assertj/core/api/AbstractByteArrayAssert; nop q,org/assertj/core/api/AbstractByteArrayAssert isNullOrEmpty s tu getFrames()Ljava/util/List; "w %x3(Ljava/util/List;)Lorg/assertj/core/api/ListAssert;zjava/lang/Class|net/luminis/quic/frame/AckFrame ~ org/assertj/core/api/ListAsserthasOnlyElementsOfTypesA([Ljava/lang/Class;)Lorg/assertj/core/api/AbstractIterableAssert;Pc1ff00001d08dcd29c5480f39a2400400016c5c0fd62ee66cef81ed15b2867db463f62c7ce62e9de >  withDefault"()Lnet/luminis/quic/VersionHolder; call(Lnet/luminis/quic/packet/InitialPacketTest;Lnet/luminis/quic/packet/InitialPacket;Ljava/lang/String;Lnet/luminis/quic/crypto/Aead;)Lorg/assertj/core/api/ThrowableAssert$ThrowingCallable; " assertThatThrownByg(Lorg/assertj/core/api/ThrowableAssert$ThrowingCallable;)Lorg/assertj/core/api/AbstractThrowableAssert;$net/luminis/quic/DecryptionException  ,org/assertj/core/api/AbstractThrowableAssert isInstanceOf8(Ljava/lang/Class;)Lorg/assertj/core/api/AbstractAssert;Pc1ff00001d08dcd29c5480f39a240040df16c5c0fd62ee66cef81ed15b2867db463f62c7ce62e9de 3  getDefault()Lnet/luminis/quic/Version;'net/luminis/quic/InvalidPacketExceptionccff00001d08375e1a9f9d7e49bd14e8ebf718bfe9d10f558ae55ed56b1ef95f013d8c0041210b832235e803ddc629f3e614d6168361e7b1f48b0ec251ba4f1039c4d1c3d397733eab73515b95f76274b1240ba93f8858ac365a61d41894884f15c87e74a9e87c149f48fa6b07f0d2a52e7fef829ea8a35815771a70db0b11458dfc0f56c9b89a3cd205b52898b64a92e9a2880a571d2af24d978b2110d74a6f8a993442073ece74c626755df1165cd1fc89cca4f0bdfa965eec62557145a63ee0a05fe372e2fcaba92c25c9de1dbfdcad3e29fd19c39fcab47fbeb8588411566a047de41b5a304ebd0e79bd803288127d6e7490fdd31fd6aa04a01d91875d0fd0126e1ddb4b2ccff51fe0dc65a711147fe6450c751e5a66cf2ed2bebccc9986c8797f1179b34383c934cadaa2a035c1eca267d050fdecc3b9f5af46a677f5fb130c10bb757ba41bc4ad22be1868b2   packetNumberJ " %,(J)Lorg/assertj/core/api/AbstractLongAssert;A  'org/assertj/core/api/AbstractLongAssert isEqualTo  framesLjava/util/List; ~ hasAtLeastOneElementOfType@(Ljava/lang/Class;)Lorg/assertj/core/api/AbstractIterableAssert;"net/luminis/quic/frame/CryptoFrame"net/luminis/quic/frame/StreamFrame (I[BZ)V  E(Lnet/luminis/quic/Version;[B[B[BLnet/luminis/quic/frame/QuicFrame;)V  "net/luminis/quic/packet/QuicPacketsetPacketNumber(J)V estimateLength(I)I  net/luminis/quic/TestUtils createKeys ()Lnet/luminis/quic/crypto/Aead; generatePacketBytes"(Lnet/luminis/quic/crypto/Aead;)[B " %/(I)Lorg/assertj/core/api/AbstractIntegerAssert;  *org/assertj/core/api/AbstractIntegerAssertisLessThanOrEqualTo {  D HServer   java/lang/SystemoutLjava/io/PrintStream; O  bytesToHex([B)Ljava/lang/String;  java/io/PrintStreamprintln(Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethis+Lnet/luminis/quic/packet/InitialPacketTest;setUpRuntimeVisibleAnnotations"Lorg/junit/jupiter/api/BeforeEach;checkIsInitialLorg/junit/jupiter/api/Test;parseValidInitialdataLjava/lang/String; initialPacket'Lnet/luminis/quic/packet/InitialPacket;connectionSecrets+Lnet/luminis/quic/crypto/ConnectionSecrets;aeadLnet/luminis/quic/crypto/Aead; Exceptionsjava/lang/Exception"parseInitialWithTwoByteTokenLength"parseInitialWithInvalidTokenLengthdecrypt"estimatedLengthWithZeroLengthTokensrcCid[BdestCidpayload"Lnet/luminis/quic/frame/QuicFrame;tokenpacket$Lnet/luminis/quic/packet/QuicPacket;estimatedLengthI actualLengthestimatedLengthWithTokengenerateValidInitialbytes+lambda$parseInitialWithInvalidTokenLength$1Z(Lnet/luminis/quic/packet/InitialPacket;Ljava/lang/String;Lnet/luminis/quic/crypto/Aead;)V%java/lang/Throwable+lambda$parseInitialWithTwoByteTokenLength$0 SourceFileInitialPacketTest.javaBootstrapMethods+ ,-. /0"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;3 4 &#6 7 "# InnerClasses:5org/assertj/core/api/ThrowableAssert$ThrowingCallable<$org/assertj/core/api/ThrowableAssertThrowingCallable?%java/lang/invoke/MethodHandles$LookupAjava/lang/invoke/MethodHandlesLookup  /*' ; *  - .  YT!'WYT!-WY@T!-WYOT!-WYT!'WYT!'W23*4?5T6i7~8 h0LY28M;Y2=C*IN-LNT-X^:,+N *b,fjm,rvyY{S}W& =?A$B-D6EIGSHgI4heZ$D  62   QLY28M;YC*IN-LNT-X^:*,+W,fjm& NPR!S*U3VBXF[P\4QNC!0  3   JLY8M;Y2=C*IN-LNT-X^:*,+W"ace$f-h6jElIm4JG<$&  6   sL;Y2=C IM,NT,X^NY28:+N- *bWv{~W. qrs&t.v:wMy\zf{n|r}4spV  .E  :9 ]LMYPN:Y+,-: 6ж־6WW.  -3;FQ\R]Y TFA-0;"F ^LMYPN :Y+,-: 6ж־6WW.  .4<GR]R^Z UGA.0<"G   XY2LN{Y L;Y2=*IM,LNT,X^N+-:4=ELW4X:4$  E  L !"#[+,N- *bk*   $&#[+,N- *bW*   $'()*121*15189;= >@B