46 N M  M M M M  M M M M M M M M M M M M M M M  M M * M M  2 & & | 2 2    2 2 D  M M clientSession"Lcom/mongodb/client/ClientSession;fileInfo,Lcom/mongodb/client/gridfs/model/GridFSFile;chunksCollection$Lcom/mongodb/client/MongoCollection; Signature9Lcom/mongodb/client/MongoCollection;fileIdLorg/bson/BsonValue;lengthJchunkSizeInBytesInumberOfChunkscursor Lcom/mongodb/client/MongoCursor;5Lcom/mongodb/client/MongoCursor; batchSize chunkIndex bufferOffsetcurrentPositionbuffer[B markPosition closeLockLjava/lang/Object; cursorLockclosedZu(Lcom/mongodb/client/ClientSession;Lcom/mongodb/client/gridfs/model/GridFSFile;Lcom/mongodb/client/MongoCollection;)VCodeLineNumberTableLocalVariableTablethis4Lcom/mongodb/client/gridfs/GridFSDownloadStreamImpl;LocalVariableTypeTable(Lcom/mongodb/client/ClientSession;Lcom/mongodb/client/gridfs/model/GridFSFile;Lcom/mongodb/client/MongoCollection;)V"RuntimeVisibleParameterAnnotationsLcom/mongodb/lang/Nullable; getGridFSFile.()Lcom/mongodb/client/gridfs/model/GridFSFile;3(I)Lcom/mongodb/client/gridfs/GridFSDownloadStream; StackMapTableread()Ibresf([B)I([BII)Iofflenrskip(J)Jskipped newChunkIndex bytesToSkipskippedPosition availablemark()V(I)V readlimitresetmarkChunkIndex markSupported()Zclose checkClosed discardCursorgetChunk(I)Lorg/bson/Document;startChunkIndexchunkLorg/bson/Document;RuntimeVisibleAnnotations getCursor#(I)Lcom/mongodb/client/MongoCursor; findIterable!Lcom/mongodb/client/FindIterable;filter6Lcom/mongodb/client/FindIterable;8(I)Lcom/mongodb/client/MongoCursor;getBufferFromChunk(Lorg/bson/Document;I)[BexpectedChunkIndexdataexpectedDataLength extraChunk getBuffer(I)[BchunkIndexToFetch SourceFileGridFSDownloadStreamImpl.java m efjava/lang/Object hi ji kl OPfile information *com/mongodb/client/gridfs/model/GridFSFile QRchunks collection"com/mongodb/client/MongoCollection ST   WX   YZ  ~ [\  ]\batchSize cannot be negative  a\ } } dZ b\ c\   java/lang/Integer gZ com/mongodb/MongoGridFSExceptionThe InputStream has been closed m ^_  org/bson/Documentn   ~(Lorg/bson/conversions/Bson;)Lcom/mongodb/client/FindIterable;$(I)Lcom/mongodb/client/FindIterable;sortiterator"()Lcom/mongodb/client/MongoCursor;get&(Ljava/lang/Object;)Ljava/lang/Object;7(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;getData()[Bjava/lang/Long(J)Ljava/lang/Long; MNOPQRSTUVWXYZ[\]\^_U`a\b\c\dZefgZhijiklmnoo***Y*Y**+* , * - *,*,*,***op6 7/ 234$8)96:C<K=S>[?n@q*orsoOPoQRoSTt oSVUuv wxyo/* pDq rsazot***pIJKLqrsa\{J|M|}~ouL*+=+3~pQR STVq rsf \{ }o= *++p[q rs f}o******* !**"**Y ` *** !*"**"d#6**"+$*Y"`"*Yap:`bcde(f4g>hJiOl_mnnyopq4rsf\\_)\{&o.*  *aB*!*q"!*,**e7**d ****!*o%6* * ***YapNuv w z{|(}3~=EJNQ_hnswq43Z_$\rsZpZ{  D%~oW****"dp q rs{ o5*'(p q rs!oA **)p q rs \!oO***)**)*q"**)*)*o%<* * **p.  (8@EJNqOrs8\{<o,pq rso"*YL***+çM+,p!q "rs{Ho#*YL* *Y+,+çM+, p"q #rs{Do'*YL*-*-.*-+çM+,!!$!p&q 'rs{Doe*- **/-M*-0H*-12M**,345"*Y6Y*SY7S8,,p2 +37DX\cq erse\S{ &2+wof2Y9*:32Y;7:M,*?2Y37:@Ap '9Dq46frsf\D" Ft6D"{92 M2Uo++345"*Y6Y*SY7S8,+BCD *YE,+BDFDGN 76`* 6&`***ie7 *7;-2*YHY*SY7SY-7SYIS8,-2*YJY-7SY*SY7SYIS8,-p^%)0<FUX[eku       q>rs\UfXZ[l{$<7v wo? **KLpq rs \