+
    LV-j.À  ã                   ó:  € ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIH	t	 ^ RI
HtHt ^ RIt^ RIHt  ^ RIt^ RIHt ^ RIHt ^ RIHtHtHt ^ R	IHt ^ R
IHtHtH t  ]PB                  ! R4      t" ! R R]#4      t$R t%R t&R t' ! R R]PP                  PR                  4      t* ! R R]PP                  PV                  4      t,R t- ! R R]PP                  P\                  4      t/ ! R R]4      t0 ! R R]4      t1R#   ] d    ]'       g   ^ RIt LÙi ; i)é    N)Ú	lru_cache)Úchain)ÚTYPE_CHECKINGÚLiteral)ÚAbstractBufferedFile)ÚAsyncFileSystem)ÚDEFAULT_CALLBACK)Ú
filesystemÚopenÚsplit_protocol)ÚAsyncFileSystemWrapper)Ú
isfilelikeÚmerge_offset_rangesÚother_pathszfsspec.referencec                   ó8   a a€ ] tR t^"t oV 3R ltR tRtVtV ;t# )ÚReferenceNotReachablec                ó<   <€ \         SV `  ! V!   Wn        W n        R # ©N)ÚsuperÚ__init__Ú	referenceÚtarget)Úselfr   r   ÚargsÚ	__class__s   &&&*€Úq/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/fsspec/implementations/reference.pyr   ÚReferenceNotReachable.__init__#   s   ø€ Ü‰Ò˜$ÒØ"ŒØŽó    c                ó:   € R V P                    RV P                   2# )zReference "z" failed to fetch target ©r   r   ©r   s   &r   Ú__str__ÚReferenceNotReachable.__str__(   s   € Ø˜TŸ^™^Ð,Ð,EÀdÇkÁkÀ]ÐSÐSr   r    )	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r"   Ú__static_attributes__Ú__classdictcell__Ú__classcell__©r   Ú__classdict__s   @@r   r   r   "   s   ù‡ € õ÷
Tò Tr   r   c                 óF   € \        \        V P                  4       4      4      # r   )ÚnextÚiterÚvalues)Úds   &r   Ú_firstr2   ,   s   € Ü”�Q—X‘X“ZÓ Ó!Ð!r   c                 ó   € VP                  V 4      p\        V\        \        34      '       dQ   \        V^ ,          \        4      '       d2   V^ ,          '       d   \        V^ ,          4      ^ ,          # V^ ,          # R# R# ©r   N)ÚgetÚ
isinstanceÚlistÚtupleÚstrr   )ÚpathÚ
referencesÚrefs   && r   Ú_prot_in_referencesr=   0   s_   € Ø
�.‰.˜Ó
€CÜ�#œœe�}×%Ò%¬*°S¸µV¼S×*AÒ*AØ,/°¯F¬FŒ~˜c !�fÓ% aÕ(Ð>¸¸A½Ð>ñ +BÑ%r   c                 ó¼   € \        V \        4      '       d   \        W4      V ./# / pV  F/  p\        W14      pVP                  V. 4      P	                  V4       K1  	  V# r   )r6   r9   r=   Ú
setdefaultÚappend)Úpathsr;   Úoutr:   Úprotocols   &&   r   Ú_protocol_groupsrD   6   sZ   € Ü�%œ×ÒÜ# EÓ6¸¸Ð@Ð@Ø
€CÛˆÜ& tÓ8ˆØ�‰�x Ó$×+Ñ+¨DÖ1ñ ð €Jr   c                   ó&   a € ] tR t^@t o R tRtV tR# )ÚRefsValuesViewc              #  ó*  "  € V P                   P                  P                  4        F)  p\        P                  ! V4      P                  4       x € K+  	  V P                   P                  P                  4        R j  x€L
  V P                   P                  4        Fo  pV P                   P                  V4      p\        V4      ^ 8X  d   V P                   VR,           ,          x € KL  V P                   P                  V4       R j  x€L
  Kq  	  R #  L“ L5i)Nú/0)Ú_mappingÚ	zmetadatar0   ÚjsonÚdumpsÚencodeÚ_itemsÚlistdirÚ_get_chunk_sizesÚlenÚ_generate_all_records)r   ÚvalÚfieldÚchunk_sizess   &   r   Ú__iter__ÚRefsValuesView.__iter__A   sÆ   é € Ø—=‘=×*Ñ*×1Ñ1Ö3ˆCÜ—*’*˜S“/×(Ñ(Ó*Ô*ñ 4à—=‘=×'Ñ'×.Ñ.Ó0×0Ð0Ø—]‘]×*Ñ*Ö,ˆEØŸ-™-×8Ñ8¸Ó?ˆKÜ�;Ó 1Ô$Ø—m‘m E¨D¥LÕ1Ò1ÙØ—}‘}×:Ñ:¸5ÓA×AÒAó -ñ 	1ñ Bùs%   ‚A9DÁ;DÁ<BDÄDÄDÄD© N©r$   r%   r&   r'   rV   r(   r)   ©r,   s   @r   rF   rF   @   s   ø‡ € ÷	Bð 	Br   rF   c                   ó&   a € ] tR t^Mt o R tRtV tR# )ÚRefsItemsViewc                óz   € \        V P                  P                  4       V P                  P                  4       4      # r   )ÚziprI   Úkeysr0   r!   s   &r   rV   ÚRefsItemsView.__iter__N   s)   € Ü�4—=‘=×%Ñ%Ó'¨¯©×)=Ñ)=Ó)?Ó@Ð@r   rX   NrY   rZ   s   @r   r\   r\   M   s   ø‡ € ÷Að Ar   r\   c                 óŽ   € ^ p^p\        V RRR1,          VRRR1,          4       F  w  rEW$V,          ,          pW5,          pK  	  V# )r   Néÿÿÿÿ)r^   )ÚidxÚsizesrS   ÚmultÚiÚss   &&    r   Úravel_multi_indexrh   R   sH   € Ø
€CØ€DÜ�C™˜"˜•I˜u¡T r T�{Ö+‰ˆØ�4�x�ˆØ�	Šñ ,ð €Jr   c                   ó  a € ] tR t^[t o Rt]R 4       t]R 4       tRV 3R lR lltR t	R t
]R R	 l4       tR
 tR!R ltR tR tR tR tR tR tR tR tR tR t]R 4       tR tR"R ltR"R ltR tR tR tR t Rt!V t"R# )#ÚLazyReferenceMappera[  This interface can be used to read/write references from Parquet stores.
It is not intended for other types of references.
It can be used with Kerchunk's MultiZarrToZarr method to combine
references into a parquet store.
Examples of this use-case can be found here:
https://fsspec.github.io/kerchunk/advanced.html?highlight=parquet#parquet-storagec                ó   € ^ RI pV# r4   )Únumpy)r   Únps   & r   rm   ÚLazyReferenceMapper.npd   s
   € ãàˆ	r   c                ó   € ^ RI pV# r4   )Úpandas)r   Úpds   & r   rq   ÚLazyReferenceMapper.pdj   s
   € ãàˆ	r   Nc                ó.   <€ V ^8„  d   QhRS[ R,          /# )é   Úengine)ÚfastparquetÚpyarrow)r   )Úformatr,   s   "€r   Ú__annotate__Ú LazyReferenceMapper.__annotate__p   s    ø€ ÷ 5Kñ 5Kñ Ð0Õ1ñ5Kr   c                óö  € Wn         / V n        WPn        W`n        W@n        V P                   R,           V n        Vf   \        P                  ! R4      MTV n        V P                  P                  T;'       g    V P                   4      V n
        ^ RIHp V P                  R8X  d   V! R4      f   \        R4      h\        4       ! V P                  4      V n        \        RR7      ! V P                   4      V n        R# )	aH  

This instance will be writable, storing changes in memory until full partitions
are accumulated or .flush() is called.

To create an empty lazy store, use .create()

Parameters
----------
root : str
    Root of parquet store
fs : fsspec.AbstractFileSystem
    fsspec filesystem object, default is local filesystem.
cache_size : int, default=128
    Maximum size of LRU cache, where cache_size*record_size denotes
    the total number of references that can be loaded in memory at once.
categorical_threshold : int
    Encode urls as pandas.Categorical to reduce memory footprint if the ratio
    of the number of unique urls to total number of refs for each variable
    is greater than or equal to this number. (default 10)
engine: Literal["fastparquet","pyarrow"]
    Engine choice for reading parquet files. (default is "fastparquet")
z/{field}/refs.{record}.parqNÚfile)Ú	find_specrw   z)engine choice `pyarrow` is not installed.i   ©Úmaxsize)ÚrootrU   Ú
cat_threshru   Ú
cache_sizeÚurlÚfsspecr
   ÚfsÚunstrip_protocolÚout_rootÚimportlib.utilr}   ÚImportErrorr   rO   Ú_key_to_record)r   r€   r…   r‡   r‚   Úcategorical_thresholdru   r}   s   &&&&&&& r   r   ÚLazyReferenceMapper.__init__p   s½   € ðB Œ	ØˆÔØ/ŒØŒØ$ŒØ—9‘9Ð<Õ<ˆŒà/1ªz”&×#Ò# FÔ+¸rˆŒØŸ™×0Ñ0°×1FÐ1F¸T¿Y¹YÓGˆŒå,à�;‰;˜)Ô#©	°)Ó(<Ò(DÜÐIÓJÐJô !”{ 4§<¡<Ó0ˆŒÜ'°Õ5°d×6IÑ6IÓJˆÖr   c                ól   € VR9   d$   V P                  4        V P                  V,          # \        V4      h)rN   )rN   Úrecord_sizerJ   )ÚsetupÚ__dict__ÚAttributeError©r   Úitems   &&r   Ú__getattr__ÚLazyReferenceMapper.__getattr__§   s.   € ØÐ9Ô9Ø�J‰JŒLà—=‘= Õ&Ð&Ü˜TÓ"Ð"r   c                ón  a € / S n         S P                  P                  R P                  S P                  R.4      4      S P                   R&   \
        P                  ! S P                   R,          4      pVR,          S n        VR,          S n        \        S P                  R7      V 3R l4       pVS n        R# )Ú/ú
.zmetadatarŽ   Úmetadatar~   c                ó~  <€ SP                   P                  WR7      p\        P                  ! SP                  P                  V4      4      p SP                  P                  VSP                  R7      pVP                   Uu/ uF  qUWE,          P                  4       bK  	  ppV# u upi   \         d    Rp T# i ; i)zcached parquet file loader)rT   Úrecord)ru   N)rƒ   rx   ÚioÚBytesIOr…   Úcat_filerq   Úread_parquetru   ÚcolumnsÚto_numpyÚOSError)rT   r›   r:   ÚdataÚdfÚcÚrefsr   s   &&     €r   Ú	open_refsÚ,LazyReferenceMapper.setup.<locals>.open_refs¸   s¢   ø€ ð —8‘8—?‘?¨�?Ó>ˆDÜ—:’:˜dŸg™g×.Ñ.¨tÓ4Ó5ˆDðØ—W‘W×)Ñ)¨$°t·{±{Ð)ÓC�Ø57·Z²ZÓ@±Z°˜2�5Ÿ>™>Ó+Ò+±Z�Ð@ð ˆKùò AøÜô Ø‘ØˆKðús$   Á5B+ ÂB&Â"B+ Â&B+ Â+B<Â;B<N)rN   r…   rž   Újoinr€   rK   ÚloadsrŽ   rJ   r   r‚   r§   )r   Úmetr§   s   f  r   r�   ÚLazyReferenceMapper.setup®   s“   ø€ ØˆŒØ$(§G¡G×$4Ñ$4Ø�H‰H�d—i‘i Ð.Ó/ó%
ˆ�‰�LÑ!ô �jŠj˜Ÿ™ \Õ2Ó3ˆØ˜}Õ-ˆÔØ˜Z�ˆŒô 
˜4Ÿ?™?Ô	+ô		ó 
,ð		ð #ˆŽr   c                óŒ  € R/ RV/pVf.   \         P                  P                  ! V 3/ T;'       g    / B w  r VP                  V 4      '       d   VP	                  V RR7       VP                  V RR7       VP                  RP                  V R.4      \        P                  ! V4      P                  4       4       \        W3/ VB # )aÊ  Make empty parquet reference set

First deletes the contents of the given directory, if it exists.

Parameters
----------
root: str
    Directory to contain the output; will be created
storage_options: dict | None
    For making the filesystem to use for writing is fs is None
fs: FileSystem | None
    Filesystem for writing
record_size: int
    Number of references per parquet file
kwargs: passed to __init__

Returns
-------
LazyReferenceMapper instance
r™   rŽ   T©Ú	recursive©Úexist_okr—   r˜   )r„   ÚcoreÚ	url_to_fsÚexistsÚrmÚmakedirsÚpiper©   rK   rL   rM   rj   )r€   Ústorage_optionsr…   rŽ   Úkwargsr«   s   &&&&, r   ÚcreateÚLazyReferenceMapper.createÆ   s¤   € ð, ˜2˜}¨kÐ:ˆØŠ:Ü—{‘{×,Ò,¨TÑM°o×6KÐ6KÈÑM‰HˆBØ�9‰9�T�?Š?Ø�E‰E�$ $ˆEÔ'Ø
�‰�D 4ˆÔ(Ø
�‰�—‘˜$ Ð-Ó.´·
²
¸3³×0FÑ0FÓ0HÔIÜ" 4Ñ6¨vÑ6Ð6r   c                ó>   € R V P                    4       p\        V4      # )zList top-level directoriesc              3   ó„   "  € T F6  qP                  R 4      '       d   K  VP                  R^4      ^ ,          x € K8  	  R# 5i)ú.zr—   N)Ú
startswithÚrsplit©Ú.0Úps   & r   Ú	<genexpr>Ú.LazyReferenceMapper.listdir.<locals>.<genexpr>ç   s0   é € ÐV©^¨Ç<Á<ÐPT×CUÔ#�—‘˜˜aÓ  ×#Ò#«^ùs
   ‚A Ÿ!A )rJ   Úset)r   Údirss   & r   rO   ÚLazyReferenceMapper.listdirå   s   € áV¨T¯^ª^ÓVˆÜ�4‹yÐr   c                óx  € VP                  R4      pV'       d
   VR,           MRpV P                  4       pV Uu. uF6  pVP                  V4      '       g   K  RVP                  V4      9  g   K4  VNK8  	  ppV'       Ed&   \	        R.R V P
                   4       R V P                   4       4       Uu0 uF6  pVP                  V4      '       g   K  RVP                  V4      9  g   K4  VkK8  	  ppVRJ d   VP                  V4       \        V4      # V U	u. uF  p	RV	RR	R
^ /NK  	  p
p	V U	u. uF\  p	RT	RRR
\        W�P
                  9   d(   \        P                  ! V P
                  V	,          4      MV P                  V	,          4      /NK^  	  pp	\        W«,           R R7      # Tp\        V P
                   U	u. uF   q™P                  V R24      '       g   K  V	NK"  	  up	V P                   U	u. uF   q™P                  V R24      '       g   K  V	NK"  	  up	,           4      pV U	u. uF\  p	RT	RRR
\        W�P
                  9   d(   \        P                  ! V P
                  V	,          4      MV P                  V	,          4      /NK^  	  pp	V P                  V4      pVRJ d   \        V4      \        V4      ,           # V P                  V4      p\!        WÞ4       U	Uu. uF%  w  rŸV^ ,          '       g   K  RV	RRR
VR,          /NK'  	  pp	pVV,           # u upi u upi u up	i u up	i u up	i u up	i u up	i u upp	i )zShortcut file listingsr—   Ú r˜   c              3   ó$   "  € T F  qx € K  	  R # 5ir   rX   ©rÂ   Únames   & r   rÄ   Ú)LazyReferenceMapper.ls.<locals>.<genexpr>ù   s   é € Ð5¡n˜d”T£nùó   ‚c              3   ó$   "  € T F  qx € K  	  R # 5ir   rX   rÌ   s   & r   rÄ   rÎ   ú   s   é € Ð2¡k˜d”T£kùrÏ   FrÍ   ÚtypeÚ	directoryÚsizer|   c                 ó   € V R ,          # )rÍ   rX   )rg   s   &r   Ú<lambda>Ú(LazyReferenceMapper.ls.<locals>.<lambda>  s   € ¸A¸f¾Ir   ©Úkeyrb   )ÚrstriprO   r¿   Úlstripr   rJ   rN   ÚupdateÚsortedrQ   rK   rL   rÆ   Ú_keys_in_fieldr7   rR   r^   )r   r:   ÚdetailÚpathdashÚdirnamesr1   rÇ   ÚfÚothersrÍ   ÚdirinfoÚfileinforT   r_   ÚrecsÚrecÚrecinfos   &&&              r   ÚlsÚLazyReferenceMapper.lsê   s%  € à�{‰{˜3Óˆß!%�4˜#–:¨2ˆØ—<‘<“>ˆñ ó
á�Ø�|‰|˜H×%ô à*-°Q·X±X¸hÓ5GÑ*G÷ ˆAÙð 	ð 
÷
 ˆ4ô Ø!�NÙ5 d§n¢nÓ5Ù2 d§k¢kÓ2ôóñ�Að
 —<‘< ×)ô ð /2¸¿¹À(Ó9KÑ.K÷ �ñð ð ð ˜‹Ø—‘˜dÔ#Ü˜f“~Ð%ÙRVÓWÑRVÈ$˜  f¨k¸6À1ÓEÑRVˆGÐWñ #óñ #�Dð ˜DØ˜FØœCà§>¡>Ô1ô Ÿ
š
 4§>¡>°$Õ#7Ô8à!Ÿ[™[¨Õ.óóñ #ð ð ô ˜'Õ,Ñ2EÔFÐFØˆÜØ"ŸnšnÓL™n�d·±À4À&ÈÀ
×0K�TˆT™nÑLØ $§¢ÓK¡˜¯©À$ÀÀq¸z×/J�tˆt¡ÑKõLó
ˆñ ó
ñ �ð ˜Ø˜ØœàŸ~™~Ô-ô —J’J˜tŸ~™~¨dÕ3Ô4àŸ™ TÕ*óóñ ð 	ð 
ð ×"Ñ" 5Ó)ˆà�U‹?Ü˜“<¤$ t£*Õ,Ð,Ø×)Ñ)¨%Ó0ˆô ! œ_ô
á,‘	�Ø�1�v‰vô <ˆV�T˜6 6¨6°3°rµ7Ó;Ù,ð 	ñ 
ð
 ˜'Õ!Ð!ùòw
ùòùò Xùòùò MùÚKùò
ùó"
s[   ¹LÁLÁ/LÂ2LÃLÃ(LÄLÄ-A"L"Æ:L'ÇL'Ç0L,
ÈL,
È'A"L1ËL6Ë4L6c                ól  € WP                   9   d   V P                   V,          # WP                  9   d6   \        P                  ! V P                  V,          4      P	                  4       # RV9  g   V P                  V4      '       d   \        V4      hVP                  R^4      w  r#V P                  V4      w  rEpV P                   P                  W$3/ 4      P                  VR4      pVf   \        hV'       d   V# V^ 8X  d   R#  V P                  W$4      p. R	Op
T
 Uu. uF  q»T9   d   Y‹,          T,          MRNK  	  ppTR
,          pTe   T# T^ ,          f   \        R4      hTR,          ^ ^ .8X  d
   TR,          # TR,          #   \        \        \        3 d   p	\        T4      T	hRp	?	ii ; iu upi )zVGet the reference for one key

Returns bytes, one-element list or three-element list.
r—   FNr   z1This reference does not exist or has been deleted:é   é   N:Nrë   NºNrì   N)r:   ÚoffsetrÓ   Úrawrb   )rN   rJ   rK   rL   rM   Ú_is_metaÚKeyErrorrÀ   rŠ   r5   r§   Ú
ValueErrorÚ	TypeErrorÚFileNotFoundError)r   rØ   rT   Ú_r›   ÚriÚ
chunk_sizeÚmayber¦   Úexcr    r¥   Ú	selectionrï   s   &&            r   Ú_load_one_keyÚ!LazyReferenceMapper._load_one_key,  s‚  € ð
 —+‘+ÔØ—;‘;˜sÕ#Ð#Ø—N‘NÔ"Ü—:’:˜dŸn™n¨SÕ1Ó2×9Ñ9Ó;Ð;Ø˜Œ^˜tŸ}™}¨S×1Ò1Ü˜3“-ÐØ—:‘:˜c 1Ó%‰ˆØ!%×!4Ñ!4°SÓ!9Ñˆ�JØ—‘—‘  °Ó4×8Ñ8¸¸UÓCˆØŠ=äˆNßØˆLØ˜1Œ_Ùð	)Ø—>‘> %Ó0ˆDò 4ˆÙAHÓIÁ¸A¨¤I�T•W˜R–[°4Ò7Áˆ	ÐIØ˜�mˆØŠ?ØˆJØ�Q�<ÒÜÐNÓOÐOØ�S�>˜a ˜VÔ#à˜R•=Ð à˜�}Ðøô œIÔ'8Ð9ô 	)Ü˜3“- SÐ(ûð	)üò Js   ÄF Ä F1ÆF.ÆF)Æ)F.c                óD  € VP                  R^4      w  r#V P                  V4      p\        V4      ^ 8X  d   R# VP                  R4       Uu. uF  p\	        V4      NK  	  pp\        Wd4      pWpP                  ,          pWpP                  ,          p	W‰\        V4      3# u upi )z3Details needed to construct a reference for one keyr—   Ú.)r   r   r   )rÀ   rP   rQ   ÚsplitÚintrh   rŽ   )
r   rØ   rT   ÚchunkrU   r¥   Ú	chunk_idxÚchunk_numberr›   rö   s
   &&        r   rŠ   Ú"LazyReferenceMapper._key_to_recordT  s”   € à—z‘z # qÓ)‰ˆØ×+Ñ+¨EÓ2ˆÜˆ{Ó˜qÔ ØˆNØ%*§[¡[°Ô%5Ó6Ñ%5 ”S˜–VÑ%5ˆ	Ð6Ü(¨Ó@ˆØ×!1Ñ!1Õ1ˆØ×,Ñ,Õ,ˆØœ3˜{Ó+Ð+Ð+ùò	 7s   ÁBc                óB  € WP                   9  dx   V P                  V R2,          p\        VR,          VR,          4       UUu. uF!  w  r4\        P                  ! W4,          4      NK#  	  pppT;'       g    ^.V P                   V&   V P                   V,          # u uppi )z6The number of chunks along each axis for a given fieldz/.zarrayÚshapeÚchunks)rU   rJ   r^   ÚmathÚceil)r   rT   Úzarrayrg   r¥   Ú
size_ratios   &&    r   rP   Ú$LazyReferenceMapper._get_chunk_sizes`  s�   € à×(Ñ(Ô(Ø—^‘^ u g¨XÐ$6Õ7ˆFä-0°¸µÀ&ÈÕBRÔ-SôÙ-S¡T Q”—	’	˜!�%Ö Ñ-Sð ñ ð '1×&7Ð&7°Q°CˆD×Ñ˜UÑ#Ø×Ñ Õ&Ð&ùó	s   Á'Bc                óÚ   € V P                  W4      p\        \        VP                  4       !  4      p\	        V4      ^8X  d
   R V 4       # \	        V4      ^8X  d
   VR,          # R V 4       # )z8The references for a given parquet file of a given fieldc              3   ó8   "  € T F  p\        V4      x € K  	  R # 5ir   ©r7   ©rÂ   Úts   & r   rÄ   Ú7LazyReferenceMapper._generate_record.<locals>.<genexpr>p  s   é € Ð(¡R ”D˜—G�G£Rùó   ‚rï   c              3   ót   "  € T F.  q^,          '       g   \        VR,          4      MV^,          x € K0  	  R# 5i)rì   rí   Nr  r  s   & r   rÄ   r  v  s'   é € ÐB¹r¸!¨§t¤t”D˜˜2�”K°°1µÔ5»rùs   ‚68)r§   r/   r^   r0   rQ   )r   rT   r›   r¦   Úits   &&&  r   Ú_generate_recordÚ$LazyReferenceMapper._generate_recordj  s^   € à�~‰~˜eÓ,ˆÜ”#�t—{‘{“}Ñ%Ó&ˆÜˆt‹9˜Œ>á(¡RÓ(Ð(Ü�‹Y˜!Œ^à˜•;Ðñ C¹rÓBÐBr   c              #  óø   "  € ^pV P                  V4       F  pW#,          pK  	  \        P                  ! W P                  ,          4      p\	        V4       F  pV P                  W4       Rj  x€L
  K  	  R#  L
5i)zJLoad all the references within a field by iterating over the parquet filesN)rP   r  r	  rŽ   Úranger  )r   rT   ÚnrecÚchr›   s   &&   r   rR   Ú)LazyReferenceMapper._generate_all_recordsx  sb   é € àˆØ×'Ñ'¨Ö.ˆBØ�JŠDñ /ä�yŠy˜× 0Ñ 0Õ0Ó1ˆÜ˜D–kˆFØ×,Ñ,¨UÓ;×;Ò;ó "Ù;ùs   ‚A+A:Á-A8Á.A:c                ó   € \        V 4      # r   )rF   r!   s   &r   r0   ÚLazyReferenceMapper.values�  s   € Ü˜dÓ#Ð#r   c                ó   € \        V 4      # r   )r\   r!   s   &r   ÚitemsÚLazyReferenceMapper.items„  s   € Ü˜TÓ"Ð"r   c                ó   € \        V 4      # r   )Úidr!   s   &r   Ú__hash__ÚLazyReferenceMapper.__hash__‡  s   € Ü�$‹xˆr   c                ó$   € V P                  V4      # r   )rû   )r   rØ   s   &&r   Ú__getitem__ÚLazyReferenceMapper.__getitem__Š  s   € Ø×!Ñ! #Ó&Ð&r   c                óˆ  € R V9   d�   V P                  V4      '       gy   VP                  R ^4      w  r4V P                  V4      w  rVpV P                  P	                  W53/ 4      pW(V&   \        V4      V P                  8X  d   V P                  W54       R# R# \        VR4      '       d    VP                  4       P                  4       p	M)\        V\        4      '       d   VP                  4       p	MTp	W�P                  V&   \        P                  ! V	4      p
/ V P                  P!                  V/ 4      CV
CV P                  V&   R# )r—   Úto_bytesN)rð   rÀ   rŠ   rN   r?   rQ   rŽ   ÚwriteÚhasattrr*  Údecoder6   ÚbytesrK   rª   rJ   r5   )r   rØ   ÚvaluerT   r  r›   rf   rõ   ÚsubdictrS   Ú	new_values   &&&        r   Ú__setitem__ÚLazyReferenceMapper.__setitem__�  s  € Ø�#Œ:˜dŸm™m¨C×0Ò0ØŸ:™: c¨1Ó-‰LˆEØ×.Ñ.¨sÓ3‰LˆF�qØ—k‘k×,Ñ,¨e¨_¸bÓAˆGØ�A‰JÜ�7‹|˜t×/Ñ/Ô/Ø—
‘
˜5Ö)ñ 0ô �u˜j×)Ò)Ø—n‘nÓ&×-Ñ-Ó/‘Ü˜E¤5×)Ò)Ø—l‘l“n‘à�Ø"�K‰K˜ÑÜŸ
š
 3›ˆIØ"N T§^¡^×%7Ñ%7¸¸RÓ%@Ð"NÀIÐ"NˆD�N‰N˜3Ór   c                ó>   € V P                  R 4      ;'       g    RV 9   # )r¾   z/.z©r¿   r×   s   &r   rð   ÚLazyReferenceMapper._is_meta¡  s   € à�~‰~˜dÓ#×3Ð3 u°¡|Ð3r   c                óÌ  € WP                   9   d   V P                   V R# WP                  9   d   V P                  V R# R V9   d�   V P                  V4      '       gy   VP                  R ^4      w  r#V P	                  V4      w  rEpV P                   P                  W$3/ 4      pRWe&   \        V4      V P                  8X  d   V P                  W$4       R# R# RV P                   V&   R# ©r—   N)	rN   rJ   rð   rÀ   rŠ   r?   rQ   rŽ   r+  )r   rØ   rT   rõ   r›   rf   r0  s   &&     r   Ú__delitem__ÚLazyReferenceMapper.__delitem__¥  s»   € Ø—+‘+ÔØ—‘˜CÒ Ø—N‘NÔ"Ø—‘˜sÒ#à�cŒz $§-¡-°×"4Ò"4ØŸ:™: c¨1Ó-‘�Ø#×2Ñ2°3Ó7‘�˜1ØŸ+™+×0Ñ0°%°À"ÓE�Ø!�‘
Ü�w“< 4×#3Ñ#3Ô3Ø—J‘J˜uÖ-ñ 4ð $(�—‘˜CÓ r   c                óH  € ^ RI p^ RIp^ RIpV P                  W3,          pRp	\	        V4      V P
                  8  d    V P                  W4      p	V	'       d&   V	R,          p
V	R,          pV	R,          pV	R,          pMŠVP                  V P
                  VP                  RR7      p
VP                  V P
                  R	R7      pVP                  V P
                  R	R7      pVP                  V P
                  VP                  RR7      pVP                  4        F×  w  rï\        V\        4      '       dŠ   \        V
P                  4      R
8X  d;   V^ ,          V
P                  P                   9  d   V
P#                  V^ ,          4      p
V^ ,          W®&   \	        V4      ^8”  d   V^,          W¾&   V^,          WÎ&   K¢  K¤  Vf   RW®&   ^ W¾&   ^ WÎ&   RWÞ&   Kº  VP$                  P'                  V4      WÞ&   KÙ  	  VP)                  RV
RVRVRV/RR7      pVP*                  P-                  4       VP*                  P/                  4       ;'       g    ^,          V P0                  8”  d   VR,          P3                  R
4      VR&   RRRR/pRR.pT;'       g    V P4                   RV RV R2pV P6                  P9                  T;'       g    V P4                   RV 2RR7       V P:                  R8X  d   RR/pM2V P:                  R8X  d
   RRRVRV/pM\=        V P:                   R24      hVP>                  ! V3RV P:                  RT;'       g    \A        V P6                  RR4      RRRR/VB  VPC                  4        V P                  PE                  W34       R#   \         d     ELQi ; i)r   NFr:   rî   rÓ   rï   ÚO)ÚdtypeÚint64Úcategory)Úcopyr.  Úutf8r—   z/refs.z.parqTr°   rw   Úwrite_statisticsrv   ÚstatsÚobject_encodingÚ	has_nullsz not supportedru   r¸   ÚcompressionÚzstdÚindex)#Úkerchunk.dfrl   rp   rN   rQ   rŽ   r§   r¢   ÚfullÚnanÚzerosr   r6   r7   r9   r=  Ú
categoriesÚadd_categoriesr¤   Ú	_proc_rawÚ	DataFramer:   ÚcountÚnuniquer�   Úastyper‡   r…   Úmkdirsru   ÚNotImplementedErrorÚ
to_parquetÚgetattrÚclearÚpop)r   rT   r›   Úbase_urlr¸   Úkerchunkrm   rq   Ú	partitionÚoriginalrA   Úoffsetsrd   ÚrawsÚjr£   r¤   rD  rE  ÚfnÚdf_backend_kwargss   &&&&&                r   r+  ÚLazyReferenceMapper.write¶  sj  € ãÛÛà—K‘K  Õ0ˆ	ØˆÜˆy‹>˜D×,Ñ,Ô,ðØŸ>™>¨%Ó8�÷ Ø˜VÕ$ˆEØ˜xÕ(ˆGØ˜VÕ$ˆEØ˜E•?‰Dà—G‘G˜D×,Ñ,¨b¯f©f¸C�GÓ@ˆEØ—h‘h˜t×/Ñ/°w�hÓ?ˆGØ—H‘H˜T×-Ñ-°W�HÓ=ˆEØ—7‘7˜4×+Ñ+¨R¯V©V¸3�7Ó?ˆDØ —‘Ö(‰GˆAÜ˜$¤×%Ò%ä˜Ÿ™Ó$¨
Ô2Ø˜Q� u§{¡{×'=Ñ'=Ô=à!×0Ñ0°°aµÓ9�EØ �7�‘Ü�t“9˜q”=Ø!% a¥�G‘JØ# A�w�E“Hñ !ð ’à�‘Ø�‘
Ø�‘Ø�“ð #Ÿ+™+×/Ñ/°Ó5�“ñ' )ð* �\‰\à˜Ø˜'Ø˜Ø�tð	ð ð ó 
ˆð �7‰7�=‰=‹?˜bŸg™gŸo™oÓ/×4Ð4°1Õ5¸¿¹ÔGØ˜F�×*Ñ*¨:Ó6ˆBˆv‰JØ  '¨6°6Ð:ˆØ˜U�Oˆ	à×)Ð)˜DŸM™MÐ*¨!¨E¨7°&¸¸ÀÐFˆØ�‰�‰˜(×3Ð3 d§m¡mÐ4°A°e°WÐ=ÈˆÔMà�;‰;˜)Ô#Ø!3°UÐ ;ÑØ�[‰[˜MÔ)à˜Ø! ?Ø˜Yð!Ñô &¨¯©¨°^Ð&DÓEÐEØ
�ŠØñ	
à—;‘;ð	
ð ,÷ 9ð 9Ü�t—w‘wÐ 1°4Ó8ð		
ð
 ð	
ð ð	
ð  ò	
ð 	�‰ÔØ�‰�‰˜˜Ö(øôQ ô Úðús   ¾N ÎN!Î N!c                ó  € \        V P                  4       F4  p\        V\        4      '       g   K  Vw  rEV P	                  VVVVR7       K6  	  \        V P                  4       FQ  pVR8w  g   K  RV9   g   K  \
        P                  ! V P                  P                  V4      4      V P                  V&   KS  	  RV P                  RV P                  /pV P                  P                  4        \
        P                  ! V4      P                  4       V P                  R&   V P                  P                  RP                  T;'       g    V P                   R.4      V P                  R,          4       V P"                  P%                  4        R# )zdOutput any modified or deleted keys

Parameters
----------
base_url: str
    Location of the output
)rZ  r¸   r˜   r¾   r™   rŽ   r—   N)r7   rN   r6   r8   r+  rK   rª   rY  rJ   rŽ   rX  rL   rM   r…   r·   r©   r‡   r§   Úcache_clear)r   rZ  r¸   ÚthingrT   r›   Úkr«   s   &&&     r   ÚflushÚLazyReferenceMapper.flush  s#  € ô ˜$Ÿ+™+Ö&ˆEÜ˜%¤×'Ô'Ø %‘�Ø—
‘
ØØØ%Ø$3ð	 ö ñ 'ô �d—k‘kÖ"ˆAØ�LÖ  T¨Q¦YÜ$(§J¢J¨t¯{©{¯©¸qÓ/AÓ$B�—‘˜qÓ!ñ #ð ˜4Ÿ>™>¨=¸$×:JÑ:JÐKˆØ�‰×ÑÔÜ$(§J¢J¨s£O×$:Ñ$:Ó$<ˆ�‰�LÑ!Ø�‰�‰Ø�H‰H�h×/Ð/ $§-¡-°Ð>Ó?Ø�K‰K˜Õ%ô	
ð 	�‰×"Ñ"Ö$r   c                óR  € ^ pV P                  4        FQ  pVP                  R4      '       d   V^,          pK%  V\        P                  ! V P	                  V4      4      ,          pKS  	  V\        V P                  4      ,          pV\        R V P                   4       4      ,          pV# )r   rþ   c              3   óV   "  € T F  p\        V\        4      '       d   K  ^x € K!  	  R# 5i)rë   N)r6   r8   )rÂ   rõ   s   & r   rÄ   Ú.LazyReferenceMapper.__len__.<locals>.<genexpr>8  s   é € ÐH¡˜1´:¸aÄ×3G—Q’Q£ùs   ‚)Ÿ
))	rO   r¿   r  ÚprodrP   rQ   rJ   ÚsumrN   )r   rQ  rT   s   &  r   Ú__len__ÚLazyReferenceMapper.__len__.  s‚   € àˆØ—\‘\–^ˆEØ×Ñ ×$Ò$Ø˜•
’àœŸš 4×#8Ñ#8¸Ó#?Ó@Õ@’ñ	 $ð
 	”�T—^‘^Ó$Õ$ˆà”ÑH §¢ÓHÓHÕHˆØˆr   c              #  ó.  "  € \        V P                  4      pVP                  V P                  4       V F  p\	        V\
        4      '       g   K  Vx € K!  	  V P                  4        F'  pV P                  V4       F  pW@9   g   K  Vx € K  	  K)  	  R # 5ir   )rÆ   rJ   rÛ   rN   r6   r9   rO   rÝ   )r   ÚmetasÚbitrT   rg  s   &    r   rV   ÚLazyReferenceMapper.__iter__;  sr   é € ô �D—N‘NÓ#ˆØ�‰�T—[‘[Ô!ÛˆCÜ˜#œs×#Ô#Ø”	ñ ð —\‘\–^ˆEØ×(Ñ(¨Ö/�Ø–9Ø”Gó 0ó $ùs   ‚A	BÁ2BÂBc                óN   €  V P                  V4       R #   \         d     R# i ; i)TF)rû   rñ   r’   s   &&r   Ú__contains__Ú LazyReferenceMapper.__contains__H  s*   € ð	Ø×Ñ˜tÔ$ÙøÜô 	Úð	ús   ‚ •$£$c           
   #  ó0  "  € V P                  V4      p\        V4      ^ 8X  d   VR,           x € R# \        P                  ! R V 4       !  pV F=  pVR,           RP	                  V Uu. uF  p\        V4      NK  	  up4      ,           x € K?  	  R# u upi 5i)zlList key names in given field

Produces strings like "field/x.y" appropriate from the chunking of the array
rH   Nc              3   ó8   "  € T F  p\        V4      x € K  	  R # 5ir   )r  )rÂ   rf   s   & r   rÄ   Ú5LazyReferenceMapper._keys_in_field.<locals>.<genexpr>X  s   é € Ð"A±[°¤5¨§8 8³[ùr  r—   rþ   )rP   rQ   Ú	itertoolsÚproductr©   r9   )r   rT   rU   ÚindsÚindr¥   s   &&    r   rÝ   Ú"LazyReferenceMapper._keys_in_fieldO  s   é € ð
 ×+Ñ+¨EÓ2ˆÜˆ{Ó˜qÔ Ø˜$•,ÒÙÜ× Ò Ñ"A±[Ó"AÑBˆÛˆCØ˜#•+ §¡¹#Ó)>¹#°Q¬#¨a®&¹#Ñ)>Ó ?Õ?Ô?ó ùÚ)>ùs   ‚A&BÁ(BÁ<B)rN   rŠ   r‚   r�   rU   ru   r…   rO   r§   r‡   rŽ   r€   rƒ   rJ   )NNé€   é
   rv   )NNi'  )rÊ   T©NN)#r$   r%   r&   r'   Ú__doc__Úpropertyrm   rq   r   r”   r�   Ústaticmethodrº   rO   rè   rû   rŠ   rP   r  rR   r0   r   r$  r'  r2  rð   r9  r+  rh  ro  rV   rv  rÝ   r(   r)   rZ   s   @r   rj   rj   [   sà   ø‡ € ñYð ñó ðð
 ñó ð÷
5Kò 5Kòn#ò#ð0 ó7ó ð7ò<ô
@"òD&òP
,ò'òCò<ò$ò#òò'òOð( ñ4ó ð4ò(ô"S)ôj!%òFòò÷@ð @r   rj   c                   ó$  a a€ ] tR tRt oRtRtRtR"V 3R lltR#R ltR#R lt	R#R lt
R	 tR
 t]3R ltR$R ltR%R ltR&R ltR tR&R ltR tR tR tR'R ltR(R ltR tR tR tR(R ltR)V 3R lltR tR tR t R*R lt!R*R lt"R  t#R!t$Vt%V ;t&# )+ÚReferenceFileSystemi]  a§  View byte ranges of some other file as a file system
Initial version: single file system target, which must support
async, and must allow start and end args in _cat_file. Later versions
may allow multiple arbitrary URLs for the targets.
This FileSystem is read-only. It is designed to be used with async
targets (for now). We do not get original file details from the target FS.
Configuration is by passing a dict of references at init, or a URL to
a JSON file containing the same; this dict
can also contain concrete data for some set of paths.
Reference dict format:
{path0: bytes_data, path1: (target_url, offset, size)}
https://github.com/fsspec/kerchunk/blob/main/README.md
r   Fc                óÌ	  <€ \         SV `  ! R/ VB  W n        W�n        W n        / V n        / V n        / V n        W°n        WÀn	        \        V\        4      '       Ed   \        R/ T;'       g    T;'       g    / BRV/B p\        P                  P                  ! V3/ VB w  ppRV9  dY   VP!                  R4      '       g   VP#                  V4      '       d+   \$        P'                  RV4       \)        VVVR7      V n        My\        P,                  ! VR3/ VB ;_uu_ 4       p\$        P'                  RV4       \.        P0                  ! V4      pRRR4       V P3                  XV	4       MV P3                  W4       \        V\        4      '       d›   VP5                  4        UUu/ uFM  w  ppT\        V\        4      '       d/   \        P6                  ! VP9                  R^4      ^ ,          3/ VB MTbKO  	  uppV n        RV P                  9  d   \7        R	4      V P                  R&   R# VeN   \        VP:                  \<        4      '       d   VP:                  ^ ,          MVP:                  pW€P                  V&   Vf�   V P
                  P?                  4        F~  p\A        V4      '       d   V! 4       p\        P                  PC                  V4      w  ppV'       g   KG  VV P                  9  g   KZ  \7        V3/ T;'       g    / B pW€P                  V&   K€  	  VfÃ   V P*                  P?                  4        F¤  p\A        V4      '       d   V! 4       p\        V\D        4      '       g   K3  V^ ,          '       g   KD  \        P                  PC                  V^ ,          4      w  ppVV P                  9  g   K€  \7        V3/ T;'       g    / B pW€P                  V&    M	  V'       d5   W`P                  9  d%   \7        V3/ T;'       g    / B pW€P                  V&   T;'       g    \7        R	4      V P                  R&   V P                  P5                  4        Fl  w  ppVPF                  '       g'   \I        VV PJ                  R
7      V P                  V&   K>  V PJ                  VPJ                  ,          '       g   Kc  \M        R4      h	  R#   + '       g   i     EL†; iu uppi )a`
  
Parameters
----------
fo : dict or str
    The set of references to use for this instance, with a structure as above.
    If str referencing a JSON file, will use fsspec.open, in conjunction
    with target_options and target_protocol to open and parse JSON at this
    location. If a directory, then assume references are a set of parquet
    files to be loaded lazily.
target : str
    For any references having target_url as None, this is the default file
    target to use
ref_storage_args : dict
    If references is a str, use these kwargs for loading the JSON file.
    Deprecated: use target_options instead.
target_protocol : str
    Used for loading the reference file, if it is a path. If None, protocol
    will be derived from the given path
target_options : dict
    Extra FS options for loading the reference file ``fo``, if given as a path
remote_protocol : str
    The protocol of the filesystem on which the references will be evaluated
    (unless fs is provided). If not given, will be derived from the first
    URL that has a protocol in the templates or in the references, in that
    order.
remote_options : dict
    kwargs to go with remote_protocol
fs : AbstractFileSystem | dict(str, (AbstractFileSystem | dict))
    Directly provide a file system(s):
        - a single filesystem instance
        - a dict of protocol:filesystem, where each value is either a filesystem
          instance, or a dict of kwargs that can be used to create in
          instance for the given protocol

    If this is given, remote_options and remote_protocol are ignored.
template_overrides : dict
    Swap out any templates in the references file with these - useful for
    testing.
simple_templates: bool
    Whether templates can be processed with simple replace (True) or if
    jinja  is needed (False, much slower). All reference sets produced by
    ``kerchunk`` are simple in this sense, but the spec allows for complex.
max_gap, max_block: int
    For merging multiple concurrent requests to the same remote file.
    Neighboring byte ranges will only be merged when their
    inter-range gap is <= ``max_gap``. Default is 64KB. Set to 0
    to only merge when it requires no extra bytes. Pass a negative
    number to disable merging, appropriate for local target files.
    Neighboring byte ranges will only be merged when the size of
    the aggregated range is <= ``max_block``. Default is 256MB.
cache_size : int
    Maximum size of LRU cache, where cache_size*record_size denotes
    the total number of references that can be loaded in memory at once.
    Only used for lazily loaded references.
kwargs : passed to parent class
rC   z.jsonz$Open lazy reference dict from URL %s)r…   r‚   ÚrbzRead reference from URL %sNÚ:r|   )ÚasynchronouszEReference-FS's target filesystem must have same value of asynchronousrX   )ÚparqÚparquetr—   )'r   r   r   Útemplate_overridesÚsimple_templatesÚ	templatesÚfssÚ	_dircacheÚmax_gapÚ	max_blockr6   r9   Údictr„   r²   r³   ÚendswithÚisdirÚloggerÚinforj   r;   r   rK   ÚloadÚ_process_referencesr   r
   rÿ   rC   r8   r0   Úcallabler   r7   Ú
async_implr   r‹  rò   )r   Úfor   Úref_storage_argsÚtarget_protocolÚtarget_optionsÚremote_protocolÚremote_optionsr…   rŽ  r�  r“  r”  r‚   r¹   ÚdicÚref_fsÚfo2rá   Útextrg  Úoptsr<   rC   rõ   r   s   &&&&&&&&&&&&&&,          €r   r   ÚReferenceFileSystem.__init__o  sä  ø€ ôR 	‰ÒÑ"˜6Ò"ØŒØ"4ÔØ 0ÔØˆŒØˆŒØˆŒØŒØ"ŒÜ�bœ#×ÓÜñ Ø#×;Ð; ~×;Ð;¸ñØGVòˆCô !Ÿ+™+×/Ò/°Ñ:°cÑ:‰KˆF�CØ˜cÔ!Ø—‘Ð4×5Ò5¸¿¹Àc×9JÒ9Jô —‘ÐBÀBÔGÜ"5ØØØ)ô#�•ô —[’[  TÑ1¨S×1Ò1°QÜ—K‘KÐ <¸bÔAÜŸ9š9 Q›<�D÷ 2ð ×(Ñ(¨Ð/AÕBð ×$Ñ$ RÔ<Ü�bœ$×Òð  "Ÿx™xœzôñ  *‘G�A�tð ä! $¬×-Ò-ô ×%Ò% a§g¡g¨c°1£o°aÕ&8ÑA¸DÒAàòñ
  *òˆDŒHð ˜4Ÿ8™8Ô#Ü!+¨FÓ!3�—‘˜‘ÙØŠ>ô #-¨R¯[©[¼%×"@Ò"@�—‘˜A–ÀbÇkÁkð ð )+�H‰H�_Ñ%àÒ"à—~‘~×,Ñ,Ö.�Ü˜C—=’=Ù›%�CÜ$Ÿk™k×8Ñ8¸Ó=‘�˜!ß‘8 °·±Ö 8Ü# HÑG°×1EÐ1EÀ2ÑG�BØ)+—H‘H˜XÓ&ñ /ð Ò"ð —‘×-Ñ-Ö/�Ü˜C—=’=Ù›%�CÜ˜c¤4×(Ô(¨S°¯V®VÜ"(§+¡+×"<Ñ"<¸SÀ½VÓ"D‘K�H˜aØ t§x¡xÖ/Ü'¨ÑK°^×5IÐ5IÀrÑK˜Ø-/Ÿ™ Ñ*áñ 0÷ ˜·h±hÔ>Ü˜OÑF°×0DÐ0DÀ"ÑFˆBØ(*�H‰H�_Ñ%à×1Ð1œz¨&Ó1ˆ�‰�‰à—H‘H—N‘NÖ$‰DˆAˆqØ—<—<�<Ü4°QÀT×EVÑEVÔW�—‘˜“Ø×"Ñ" Q§^¡^×3Ö3Ü ð&óð ó	 %÷o 2×1Ð1üós   Ä"-SÆ$AS ÓS	c           
     óˆ  € V P                  V4      p\        P                  R V 24        V P                  V,          p\        T\        4      '       d   TP                  4       p\        TR4      '       d   TP                  4       p\        T\        4      '       dS   \        P                  RT R24       TP                  R4      '       d   \        P                  ! TR,          4      pTRR3# \        T4      ^8X  d(   \        P                  RT RT 24       T^ ,          pY#r‡MlTw  rip
\        P                  RT RT R	T	 R
T
 24       Yš,           pTe   T^ 8¼  d
   Y’,           pMY²,           pMT	pTe   T^ 8¼  d
   Y“,           pMY³,           pMTpTf   T P                   pYgT3#   \         d   p\        T4      ThRp?ii ; i)zcat: Nr*  zReference: z, type bytesó   base64:ºé   NNz, whole file => z => z	, offset z, size )Ú_strip_protocolr˜  Údebugr;   rñ   rô   r6   r9   rM   r,  r*  r.  r¿   Úbase64Ú	b64decoderQ   r   )r   r:   ÚstartÚendÚpartrù   rƒ   Ústart1Úend1Ústart0rÓ   Úend0s   &&&&        r   Ú_cat_commonÚReferenceFileSystem._cat_common  sœ  € Ø×#Ñ# DÓ)ˆÜ�‰�u˜T˜F�^Ô$ð	3Ø—?‘? 4Õ(ˆDô �dœC× Ò Ø—;‘;“=ˆDÜ�4˜×$Ò$Ø—=‘=“?ˆDÜ�dœE×"Ò"Ü�L‰L˜; t f¨LÐ9Ô:Ø�‰˜z×*Ò*Ü×'Ò'¨¨R­Ó1�Ø˜˜tÐ#Ð#äˆt‹9˜Œ>Ü�L‰L˜; t fÐ,<¸T¸FÐCÔDØ�q•'ˆCØ ‘Dà $ÑˆC˜Ü�L‰L˜; t f¨D°°°Y¸v¸hÀgÈdÈVÐTÔUØ•=ˆDàÒ Ø˜A”:Ø#�^‘Fà!�\‘Fà�ØŠØ˜!”8Ø!�<‘Dà�:‘Dà�ØŠ;Ø—+‘+ˆCØ˜DÐ Ð øôK ô 	3Ü# DÓ)¨sÐ2ûð	3ús   «F% Æ%GÆ0F<Æ<Gc              ‹  ó   "  € V P                  WVR 7      w  rVp\        V\        4      '       d   WRV # \        V4      w  r‰ V P                  V,          P                  WVVR 7      G Rj  x€L
 #  L  \         d   p
\        Y4      T
hRp
?
ii ; i5i©)r²  r³  N)r¹  r6   r.  r   r‘  Ú	_cat_fileÚ	Exceptionr   ©r   r:   r²  r³  r¹   Úpart_or_urlr·  r¸  rC   rõ   Úes   &&&&,      r   r½  ÚReferenceFileSystem._cat_file>  s™   é € Ø$(×$4Ñ$4°TÈCÐ$4Ó$PÑ!ˆ˜TÜ�k¤5×)Ò)Ø SÐ)Ð)Ü$ [Ó1‰ˆð	BØŸ™ (Õ+×5Ñ5Ø¨tð 6ó ÷ ð ñ øô ô 	BÜ'¨Ó:ÀÐAûð	Büs;   ‚>BÁ'A/ Á(A-Á)A/ Á,BÁ-A/ Á/BÁ:BÂBÂBc                ó  € V P                  WVR 7      w  rVp\        V\        4      '       d   WRV # \        V4      w  r‰ V P                  V,          P                  WVVR 7      #   \         d   p
\        Y4      T
hRp
?
ii ; ir¼  )r¹  r6   r.  r   r‘  rž   r¾  r   r¿  s   &&&&,      r   rž   ÚReferenceFileSystem.cat_fileJ  s„   € Ø$(×$4Ñ$4°TÈCÐ$4Ó$PÑ!ˆ˜TÜ�k¤5×)Ò)Ø SÐ)Ð)Ü$ [Ó1‰ˆð	BØ—8‘8˜HÕ%×.Ñ.¨{ÈdÐ.ÓSÐSøÜô 	BÜ'¨Ó:ÀÐAûð	Bús   ¿#A# Á#A?Á.A:Á:A?c                ó"   € W P                   V&   R# )z2Temporarily add binary data or reference as a fileN©r;   )r   r:   r/  rõ   s   &&&,r   Ú	pipe_fileÚReferenceFileSystem.pipe_fileT  s   € à %�‰˜Ór   c              ‹  ó&  "  € V P                  V4      '       d   \        P                  ! VR R7      # V P                  V4      G Rj  x€L
 p\	        VR4      ;_uu_ 4       pVP                  V4       RRR4       R#  L4  + '       g   i     R# ; i5i)Tr°   NÚwb)r—  Úosr¶   r½  r   r+  )r   ÚrpathÚlpathr¹   r£   rá   s   &&&,  r   Ú	_get_fileÚReferenceFileSystem._get_fileX  sf   é € Ø�:‰:�e×ÒÜ—;’;˜u¨tÔ4Ð4Ø—^‘^ EÓ*×*ˆÜ�%˜×Ô !Ø�G‰G�DŒM÷ Ññ +ß×Ðüs*   ‚ABÁA;ÁBÁA=Á1BÁ=B	Â	Bc                óº  € V P                  V4      '       d   \        P                  ! VR R7      # V P                  ! V3/ VB pVP	                  \        V4      4       \        V4      '       d   VP                  V4       M.\        VR4      ;_uu_ 4       pVP                  V4       RRR4       VP                  \        V4      4       R#   + '       g   i     L,; i)Tr°   rÊ  N)
r—  rË  r¶   rž   Úset_sizerQ   r   r+  r   Úabsolute_update)r   rÌ  rÍ  Úcallbackr¹   r£   rá   s   &&&&,  r   Úget_fileÚReferenceFileSystem.get_file_  s˜   € Ø�:‰:�e×ÒÜ—;’;˜u¨tÔ4Ð4Ø�}Š}˜UÑ- fÑ-ˆØ×Ñœ#˜d›)Ô$Ü�e×ÒØ�K‰K˜Õä�e˜T×"Ô" aØ—‘˜”÷ #à× Ñ ¤ T£Ö+÷ #×"ús   ÂC
Ã
C	c                óº  € V'       d   V P                  R 4       V P                  WR7      p\        P                  ! RRR7      p\	        W4      pV'       d;   T P                  V Uu. uF  qpP                  V4      '       d   K  VNK  	  up4      pMV P                  V4      p\        W4       F%  w  ršW˜9   g   K  VP                  W¨V	,          4       K'  	  R# u upi )rÊ   r®   r|   T)Ú
auto_mkdirN)	rè   Úexpand_pathr„   r
   r   Úcatr—  r^   rÇ  )r   rÌ  rÍ  r¯   r¹   r…   ÚtargetsÚrr£   ÚremoteÚlocals   &&&&,      r   r5   ÚReferenceFileSystem.getk  s¢   € ßà�G‰G�BŒKØ× Ñ  Ð Ó<ˆÜ×Ò˜v°$Ô7ˆÜ˜eÓ+ˆßØ—8‘8©ÓC© 1·Z±ZÀ·]ŸQ˜Q©ÑCÓD‰Dà—8‘8˜E“?ˆDÜ  Ö0‰MˆFØŽ~Ø—‘˜U¨¥LÖ1ó 1ùò Ds   Á&CÂCc           
     óþ  € \        V\        4      '       d   V'       d   \        h\        V\        4      '       dI   V'       g;   \        ;QJ d    R  V 4       F  '       g   K   RM	  RM! R  V 4       4      '       d   \        h\        WP                  4      p/ pVP                  4        EFË  w  rxV P                  V,          p	. . . . 3w  r«rÍV F|  p V P                  V4      w  ppp\        V\        \        34      '       g   K7   V
P                  V4       VP                  V4       VP                  V4       VP                  V4       K~  	  . p. p. p. p\        4       p\        W«WÍ4       F  w  pppp\        V\        4      '       d   WöV&   K$  Ve   K*  VP                  V4       VP                  V4       VP                  V4       VP                  V4       VP                  V4       K�  	  \        W«WÍ4       F[  w  ppppVf   K  VV9  g   K  VP                  V4       VP                  V4       VP                  V4       VP                  V4       K]  	  \!        \        V4      \        V4      \        V4      RV P"                  V P$                  R7      w  pppV	P'                  VVV4      p\        W«WÍ4       F´  w  ppppWæ9   d   K  \        VVVV4       F’  w  ppppVV8X  d.   Ve   Vf&   \        V\(        4      '       d   VWn&   K3  VVV Wn&   K<  VV8X  g   KE  VV8¼  g   KN  VV8:  g   KW  \        V\(        4      '       d   VWn&   Ks  TVV,
          VV,
          ;'       g    R Wn&   K”  	  K¶  	  EKÎ  	  VP+                  4       P                  4        Fu  w  p p!\        V!\(        4      '       g   K  V V P                  9   g   K1  VV ,          p"\-        V V P                  V ,          4      p#V"V#n        VR8X  d   V#hVR8w  g   Kp  V#VV &   Kw  	  \1        V4      ^8X  d)   \        V\        4      '       d   RV9  d   \3        V4      # V#   \         d'   pTR8X  d   h TR8w  d   TYn&    Rp?EK¢   Rp?EK©  Rp?ii ; i)c              3   ó,   "  € T F
  pR V9   x € K  	  R# 5i)Ú*NrX   rÁ   s   & r   rÄ   Ú*ReferenceFileSystem.cat.<locals>.<genexpr>}  s   é € Ð7OÉ$ÀQ¸¸q¾Ë$ùó   ‚TFÚraiseÚomitN)Úsortr“  r”  rá  )r6   r9   rU  r7   ÚanyrD   r;   r   r‘  r¹  r.  r@   rô   rÆ   r^   Úaddr   r“  r”  Ú
cat_rangesr¾  r@  r   Ú	__cause__rQ   r2   )$r   r:   r¯   Úon_errorr¹   Ú
proto_dictrB   ÚprotorA   r…   ÚurlsÚstartsÚendsÚvalid_pathsrÃ   Úurg   rÁ  ÚerrÚurls2Ústarts2Úends2Úpaths2Úwhole_filesÚ	new_pathsÚ
new_startsÚnew_endsÚ	bytes_outrm   ÚnsÚneÚbrg  ÚvÚexÚnew_exs$   &&&&,                               r   rÙ  ÚReferenceFileSystem.catz  sÉ  € Ü�dœC× Ò §YÜ%Ð%Ü�dœD×!Ò!§y·C³CÑ7OÉ$Ó7O·C·C²CÑ7OÉ$Ó7O×4OÒ4OÜ%Ð%ä% d¯O©OÓ<ˆ
ØˆØ&×,Ñ,×.‰LˆEØ—‘˜%•ˆBØ.0°"°b¸"¨nÑ+ˆD˜$Û�ð*Ø"×.Ñ.¨qÓ1‘G�A�q˜!Ü% a¬%´¨×6Ò6á ð 7ð —K‘K ”NØ—M‘M !Ô$Ø—K‘K ”NØ×&Ñ& qÖ)ñ# ð( ˆEØˆGØˆEØˆFÜ›%ˆKÜ! $°ÖB‘
��1�a˜Ü˜a¤×'Ò'à˜“FØ”Yð  —O‘O AÔ&Ø—L‘L ”OØ—N‘N 1Ô%Ø—L‘L ”OØ—M‘M !Ö$ñ Cô " $°ÖB‘
��1�a˜à”= Q¨kÖ%9Ø—L‘L ”OØ—N‘N 1Ô%Ø—L‘L ”OØ—M‘M !Ö$ñ Cô /BÜ�U“Ü�W“Ü�U“ØØŸ™ØŸ.™.ô/Ñ+ˆI�z 8ð Ÿ™ i°¸XÓFˆIô " $°ÖB‘
��1�a˜Ø”8ÙÜ%(¨°JÀÈ)Ö%T‘M�B˜˜B Ø˜Q”w B¢J°"²*Ü% a¬×3Ò3Ø%&˜C›Fà%& q¨ V˜C›FØ˜qž Q¨"¦W°°b¶Ü% a¬×3Ò3Ø%&˜C›Fà%& q¨2¥v°°Rµ×0@Ð0@¸DÐ%A˜C›Fó &Uô Cñy /ðV —H‘H“J×$Ñ$Ö&‰DˆAˆqä˜!œY×'Ô'¨A°·±Ö,@Ø˜•V�Ü.¨q°$·/±/À!Õ2DÓE�Ø#%�Ô Ø˜wÔ&Ø �LØ Ö'Ø#�C˜“Fñ 'ô ˆs‹8�qŒ=œZ¨¬c×2Ò2°sÀ$´Ü˜#“;ÐØˆ
øô[ )ô %Ø 7Ô*ØØ 6Ô)Ø!$˜Ÿ˜ö *ûð%ús   Ã1QÑQ<ÑQ7Ñ7Q<c                ó¦   € VP                  R R4      pVf   V P                  V4       R# V^8X  d   V P                  WR7       R# \        RV 24      h)ÚversionN)rŽ  z Unknown reference spec version: )r5   Ú_process_references0Ú_process_references1rò   )r   r;   rŽ  Úverss   &&& r   r›  Ú'ReferenceFileSystem._process_referencesÜ  sP   € Ø�~‰~˜i¨Ó.ˆØŠ<Ø×%Ñ% jÖ1Ø�QŒYØ×%Ñ% jÐ%ÖXäÐ?À¸vÐFÓGÐGr   c           	     óê   € \        V\        4      '       dQ   VP                  4        UUu/ uF4  w  r#T\        V\        4      '       d   \        P                  ! V4      MTbK6  	  pppWn        R# u uppi )z&Make reference dict for Spec Version 0N)r6   r•  r   rK   rL   r;   )r   r;   rØ   rS   s   &&  r   r  Ú(ReferenceFileSystem._process_references0ç  sc   € ä�j¤$×'Ò'ð
 !+× 0Ñ 0Ô 2ôá 2‘H�Cð ¬
°3¼×(=Ò(=”T—Z’Z ”_À3ÒFÙ 2ð ñ ð %Žùó	s   ª:A/c                ó^  a a€ S P                   '       d   S P                  '       d   ^ RIo/ S n        S P	                  VP                  R/ 4      4       \        R4      VV 3R l4       pVP                  R/ 4      P                  4        EFf  w  rE\        V\        4      '       dS   VP                  R4      '       d+   \        P                  ! VR,          4      S P                  V&   VS P                  V&   Kn  \        V\        4      '       d&   \        P                  ! V4      S P                  V&   K©  S P                  '       d�   V^ ,          pRV9   dX   S P                   '       d>   VP!                  RR	4      P!                  R
R4      P"                  ! R/ S P                  B pMV! V4      p\%        V4      ^8X  d   V.MWe^,          V^,          .S P                  V&   EKW  VS P                  V&   EKi  	  S P                  P'                  S P)                  VP                  R. 4      4      4       R# )r   Nr�  iè  c                 óZ   <€ SP                  V 4      P                  ! R/ SP                  B # ©NrX   )ÚTemplateÚrenderr�  )rò  Újinja2r   s   &€€r   Ú_render_jinjaÚ?ReferenceFileSystem._process_references1.<locals>._render_jinjaø  s$   ø€ à—?‘? 1Ó%×,Ò,Ñ>¨t¯~©~Ñ>Ð>r   r¦   zbase64:r¬  ú{{Ú{z}}Ú}ÚgenrX   )r�  r�  r  r;   Ú_process_templatesr5   r   r   r6   r9   r¿   r°  r±  r•  rK   rL   Úreplacerx   rQ   rÛ   Ú_process_gen)r   r;   rŽ  r  rg  r   rò  r  s   f&&    @r   r  Ú(ReferenceFileSystem._process_references1ò  s§  ù€ Ø×$×$Ð$¨¯¯¨ÛØˆŒØ×Ñ 
§¡¨{¸BÓ ?Ô@ä	�4‹õ	?ó 
ð	?ð —N‘N 6¨2Ó.×4Ñ4×6‰DˆAÜ˜!œS×!Ò!Ø—<‘< 	×*Ò*Ü)/×)9Ò)9¸!¸B½%Ó)@�D—O‘O AÑ&Ø%&�—‘ Ó"Ü˜Aœt×$Ò$Ü%)§Z¢Z°£]�—‘ Ó"Ø——�Ø�a•D�Ø˜1”9Ø×,×,Ð,àŸI™I d¨CÓ0ß$™W T¨3Ó/ß#™Vð$ñ 6à&*§n¡nñ6ñ ñ *¨!Ó,˜Ü,/°«F°a¬K a¡S¸aÀ1ÅÀqÈÅt¸_�—‘ Ô"à%&�—‘ Ô"ñ) 7ð* 	�‰×Ñ˜t×0Ñ0°·±ÀÀrÓ1JÓKÖLr   c                óü   a€ / V n         V P                  e   VP                  V P                  4       VP                  4        F6  w  r#RV9   d   ^ R IoV3V3R llV P                   V&   K(  W0P                   V&   K8  	  R # )Nr  c                 óF   <€ SP                  V 4      P                  ! R/ VB # r  )r  r  )Útempr¹   r  s   &,€r   rÕ   Ú8ReferenceFileSystem._process_templates.<locals>.<lambda>  s(   ø€ ¸V¿_¹_Øó>ç‘&ð>ñ >#à!ò>#r   )r�  rŽ  rÛ   r   r  )r   Útmprg  r   r  s   &&  @r   r  Ú&ReferenceFileSystem._process_templates  se   ø€ ØˆŒØ×"Ñ"Ò.Ø�J‰J�t×.Ñ.Ô/Ø—I‘I–K‰DˆAØ�qŒyÛà01ö %#�—‘˜qÓ!ð %&—‘˜qÓ!ó  r   c                óÌ  a€ / pV EFÓ  pVR ,          P                  4        UUu/ uFR  w  rET\        V\        4      '       d   TM3\        VP	                  R^ 4      VR,          VP	                  R^4      4      bKT  	  uppoV3R l\
        P                  ! SP                  4       !   4       pV EF&  p^ RIpVP                  VR,          4      P                  ! R/ VBV P                  B p	VP                  VR,          4      P                  ! R/ VBV P                  B p
RV9   d‹   R	V9   d„   \        VP                  VR,          4      P                  ! R/ VBV P                  B 4      p\        VP                  VR	,          4      P                  ! R/ VBV P                  B 4      pW«V.W)&   EK  RV9   R	V9   ,          '       d   \        R
4      hV
.W)&   EK)  	  EKÖ  	  V# u uppi )Ú
dimensionsr²  ÚstopÚstepc              3   ój   <"  € T F(  p\        \        SP                  4       V4      4      x € K*  	  R # 5ir   )r•  r^   r_   )rÂ   r0   Ú	dimensions   & €r   rÄ   Ú3ReferenceFileSystem._process_gen.<locals>.<genexpr>,  s.   øé € ð áD�Fô ”S˜Ÿ™Ó)¨6Ó2×3Ð3ÛDùs   ƒ03NrØ   rƒ   rî   Úlengthz^Both 'offset' and 'length' are required for a reference generator entry if either is provided.rX   )r   r6   r7   r  r5   r{  r|  r0   r  r  r  r�  r   rò   )r   ÚgensrB   r  rg  r   ÚproductsÚprr  rØ   rƒ   rî   r)  r'  s   &&           @r   r  Ú ReferenceFileSystem._process_gen!  sÅ  ø€ ØˆÜˆCð   Õ-×3Ñ3Ô5ôñ 6‘D�Að ä! !¤T×*Ò*ñ ä˜qŸu™u W¨aÓ0°!°Fµ)¸Q¿U¹UÀ6È1Ó=MÓNòOñ
 6òˆIôä'×/Ò/°×1AÑ1AÓ1CÒDóˆHô �Ûà—o‘o c¨%¥jÓ1×8Ò8ÑP¸2ÐPÀÇÁÑP�Ø—o‘o c¨%¥jÓ1×8Ò8ÑP¸2ÐPÀÇÁÑP�Ø ”O¨(°c¬/Ü ØŸ™¨¨H­Ó6×=Ò=ÑUÀÐUÀdÇnÁnÑUó�Fô !ØŸ™¨¨H­Ó6×=Ò=ÑUÀÐUÀdÇnÁnÑUó�Fð !$¨VÐ4�C”HØ #‘o¨(°c©/×:Ô:Ü$ðKóð ð
 !$˜u�C”Hô' ñ ðB ˆ
ùóAs   ¤AG c           
     ó,  € R . /V n         V P                  P                  4       pV EFi  w  r#\        V\        \
        34      '       g   \        VR4      '       d   \        V4      pM\        V4      ^8X  d   RpMVw   rTRV9   d   VP                  R^4      ^ ,          MR pTpV.pV'       d5   WpP                   9  d%   V P                  V4      pVP                  V4       K<  VP                  4        \        WˆR,          4       F`  w  ršW P                   9  g   Q hW�P                   9   g   Q hV P                   V	,          P                  RV
RRR^ /4       . V P                   V
&   Kb  	  V P                   V,          P                  RVRR	RV/4       EKl  	  R# )
rÊ   r*  Nr—   :rë   NNrÍ   rÑ   rÒ   rÓ   r|   )Údircacher;   r   r6   r.  r9   r,  rQ   rÀ   Ú_parentr@   Úreverser^   )r   r  r:   r´  rÓ   rõ   ÚparÚpar0ÚsubdirsÚparentÚchilds   &          r   Ú_dircache_from_itemsÚ(ReferenceFileSystem._dircache_from_itemsF  sU  € Ø˜R˜ˆŒØ�_‰_×"Ñ"Ó$ˆÜ‰JˆDÜ˜$¤¬ ×-Ò-´¸¸z×1JÒ1JÜ˜4“y‘Ü�T“˜a”Ø‘à!‘
��1Ø,/°4¬K�$—+‘+˜c 1Ó% aÖ(¸RˆCØˆDØ�fˆGß˜4§}¡}Ô4à—|‘| DÓ)�Ø—‘˜tÖ$à�O‰OÔÜ!$ W°b­kÖ!:‘�à§M¡MÔ1Ð1Ð1Ø§¡Ô.Ð.Ð.Ø—‘˜fÕ%×,Ñ,Ø˜U F¨K¸ÀÐCôð (*�—‘˜eÓ$ñ ";ð �M‰M˜#Õ×%Ñ% v¨t°V¸VÀVÈTÐ&R×Só3 r   c                ó&  € V P                  V4      w  rgp\        V\        4      '       d   \        P                  ! WgV 4      # \        V4      w  ršVf.   Vf*   V P                  V	,          P                  ! VV3RVRV/VB # \        V VV3RVRV/VB # )NÚ
block_sizeÚcache_options)	r¹  r6   r.  rœ   r�   r   r‘  Ú_openÚReferenceFile)r   r:   Úmoder:  r;  r¹   rÀ  r·  r¸  rC   rõ   s   &&&&&,     r   r<  ÚReferenceFileSystem._opend  sÅ   € Ø$(×$4Ñ$4°TÓ$:Ñ!ˆ˜Tô �k¤5×)Ò)Ü—:’:˜k°Ð6Ó7Ð7ä$ [Ó1‰ˆØŠ>˜dšlØ—8‘8˜HÕ%×+Ò+ØØñð &ðð ,ð	ð
 ñð ô ØØØñ
ð "ð	
ð
 (ð
ð ñ
ð 	
r   c                óÚ  € \         P                  R V4       V P                  V4      p\        V P                  \
        4      '       d    V P                  P                  W4      # V P                  '       g   V P                  4        V P                  V4      pVf   \        V4      hV'       d   V# V Uu. uF  qUR,          NK  	  up#   \         d     Mi ; i\        RT R24      hu upi )zlist %sÚ'z' is not a known keyrÍ   )r˜  r¯  r®  r6   r;   rj   rè   rñ   rô   r/  r7  Ú_ls_from_cache)r   r:   rÞ   r¹   rB   Úos   &&&,  r   rè   ÚReferenceFileSystem.ls~  sÒ   € Ü�‰�Y Ô%Ø×#Ñ# DÓ)ˆÜ�d—o‘oÔ':×;Ò;ðØ—‘×)Ñ)¨$Ó7Ð7ð �}�}ˆ}Ø×%Ñ%Ô'Ø×!Ñ! $Ó'ˆØŠ;Ü# DÓ)Ð)ßØˆJÙ#&Ó'¡3˜a�&—	�	¡3Ñ'Ð'øô ô Ùðúä# a¨ vÐ-AÐ$BÓCÐCùò (s   Á	C Â4C(ÃCÃCc                óV   € V P                  V4      ;'       g    V P                  V4      # r   )r—  Úisfile©r   r:   r¹   s   &&,r   r´   ÚReferenceFileSystem.exists�  s"   € Ø�z‰z˜$Ó×4Ð4 4§;¡;¨tÓ#4Ð4r   c                ó\  a€ V P                   '       d   SV P                   9   # \        V P                  \        4      '       d   SV P                  P	                  4       9   # \
        ;QJ d)    V3R  lV P                   4       F  '       g   K   R# 	  R# ! V3R  lV P                   4       4      # )c              3   óJ   <"  € T F  qP                  S R 24      x € K  	  R# 5ir8  r5  )rÂ   rõ   r:   s   & €r   rÄ   Ú,ReferenceFileSystem.isdir.<locals>.<genexpr>›  s!   øé € ÐI¹°A—|‘| t f¨A J×/Ð/»ùs   ƒ #TF)r/  r6   r;   rj   rO   rç  ©r   r:   s   &fr   r—  ÚReferenceFileSystem.isdir“  sx   ø€ Ø�=�=ˆ=Ø˜4Ÿ=™=Ñ(Ð(Ü˜Ÿ™Ô)<×=Ò=Ø˜4Ÿ?™?×2Ñ2Ó4Ñ4Ð4÷ “3ÔI¸¿ºÓI—3”3ÐI’3ÐI�3ÔI¸¿ºÓIÓIÐIr   c                ó   € WP                   9   # r   rÆ  rL  s   &&r   rF  ÚReferenceFileSystem.isfile�  s   € Ø—‘Ñ&Ð&r   c              ‹  ó0   "  € V P                   ! W3/ VB # 5ir   )rè   )r   r:   rÞ   r¹   s   &&&,r   Ú_lsÚReferenceFileSystem._ls   s   é € Ø�wŠw�tÑ. vÑ.Ð.ùs   ‚c           	     ó’  <a€ V'       d   \         SV `  ! S3R VRVRV/VB # S'       d2   V P                  S4      o\        V3R lV P                   4       4      pM\        V P                  4      pV'       dK   V P
                  '       g   V P                  4        V Uu/ uF  qwV P                  V4      ^ ,          bK  	  up# V# u upi )ÚmaxdepthÚwithdirsrÞ   c              3   óX   <"  € T F  qP                  S4      '       g   K  Vx € K!  	  R # 5ir   r5  )rÂ   rg  r:   s   & €r   rÄ   Ú+ReferenceFileSystem.find.<locals>.<genexpr>ª  s   øé € ÐH¡/˜Q·\±\À$×5G—q’q£/ùs   ƒ* 
*)r   Úfindr®  rÜ   r;   r/  r7  rB  )	r   r:   rT  rU  rÞ   r¹   rÛ  rg  r   s	   &f&&&,  €r   rX  ÚReferenceFileSystem.find£  s»   ù€ ßÜ‘7’<ØñØ'ðØ2:ðØCIðØMSñð ÷ Ø×'Ñ'¨Ó-ˆDÜÔH $§/¢/ÓHÓH‰Aä�t—‘Ó'ˆAßØ—=—=�=Ø×)Ñ)Ô+Ù:;Ó<¹!°Q�t×*Ñ*¨1Ó-¨aÕ0Ò0¹!Ñ<Ð<àˆHùò =s   Â!Cc                ó‚  € V P                   P                  V4      pVeW   \        V\        \        34      '       d   RVRRR\        V4      /# \        V4      ^8”  d   RVRRRV^,          /# RVRRRR /.pMBV P                  VR4      pV Uu. uF  qUR,          V8X  g   K  VNK  	  ppV'       g	   RVRRR^ /# V^ ,          R,          fj   \        V P                   V,          ^ ,          4      w  rgV P                  V,          P                  V P                   V,          ^ ,          4      V^ ,          R&   V^ ,          # u upi )NrÍ   rÑ   r|   rÓ   TrÒ   )
r;   r5   r6   r9   r.  rQ   rè   r   r‘  rÓ   )r   r:   r¹   rB   Úout0rC  Úprotrõ   s   &&,     r   r™  ÚReferenceFileSystem.info´  s#  € Ø�o‰o×!Ñ! $Ó'ˆØŠ?Ü˜#¤¤U˜|×,Ò,à  f¨f°f¼cÀ#»hÐGÐGÜ�S“˜A”Ø  f¨f°f¸cÀ!½fÐEÐEà  v¨v°v¸tÐDÐE‘à—'‘'˜$ Ó%ˆCÙ"Ó8™s˜!¨¥i°4Ñ&7—A�A™sˆDÐ8ßØ  f¨k¸6À1ÐEÐEØ��7�6�?Ò"ä$ T§_¡_°TÕ%:¸1Õ%=Ó>‰GˆDØ"Ÿh™h t�n×1Ñ1°$·/±/À$Õ2GÈÕ2JÓKˆD��G�F‰OØ�A�wˆùò 9s   ÂD<Â D<c              ‹  ó,   "  € V P                  V4      # 5ir   )r™  rG  s   &&,r   Ú_infoÚReferenceFileSystem._infoÉ  s   é € Ø�y‰y˜‹Ðùrã  c              ‹  óz   "  € V P                   P                  VR 4       V P                  P                  4        R # 5ir   )r;   rY  r/  rX  rG  s   &&,r   Ú_rm_fileÚReferenceFileSystem._rm_fileÌ  s.   é € Ø�‰×ÑØ�$ô	
ð 	�‰×ÑÖùs   ‚9;c              ‹  ó¦   "  € VR 8X  d   V P                  V4      '       d   \        hW P                  V&   V P                  P	                  4        R# 5i)rº   N)r´   ÚFileExistsErrorr;   r/  rX  )r   r:   r£   r>  r¹   s   &&&&,r   Ú
_pipe_fileÚReferenceFileSystem._pipe_fileÒ  s=   é € Ø�8Ô §¡¨D× 1Ò 1Ü!Ð!à $�‰˜ÑØ�‰×ÑÖùs
   ‚A¡0Ac              ‹  ó$  "  € VR 8X  d   V P                  V4      '       d   \        h\        VR4      ;_uu_ 4       pVP                  4       V P                  V&   RRR4       V P
                  P                  4        R#   + '       g   i     L,; i5i)rº   r‰  N)r´   re  r   Úreadr;   r/  rX  )r   rÍ  rÌ  r>  r¹   rá   s   &&&&, r   Ú	_put_fileÚReferenceFileSystem._put_fileÙ  sa   é € à�8Ô §¡¨E× 2Ò 2Ü!Ð!Ü�%˜×Ô !Ø%&§V¡V£XˆD�O‰O˜EÑ"÷ à�‰×ÑÖ÷ ×üs!   ‚B¡B»A=Á$BÁ=B	ÂBc           
     ó  € / pV P                   P                  4        F5  w  rE\        V\        4      '       d    VP	                  R4      W4&   K1  WSV&   K7  	  \        P                  ! VR3/ VB ;_uu_ 4       pVP                  \        P                  ! R^RV/4      P                  4       4       RRR4       R#   \
         d2    R\        P                  ! T4      ,           P	                  4       Y4&    KÖ  i ; i  + '       g   i     R# ; i)z+Write modified references into new locationÚasciir«  rÊ  r  r¦   N)r;   r   r6   r.  r-  ÚUnicodeDecodeErrorr°  Ú	b64encoder„   r   r+  rK   rL   rM   )r   rƒ   r¸   rB   rg  r   rá   s   &&,    r   Ú	save_jsonÚReferenceFileSystem.save_jsoná  sÔ   € àˆØ—O‘O×)Ñ)Ö+‰DˆAÜ˜!œU×#Ò#ðIØŸX™X gÓ.�C“Fð �A“ñ ,ô �[Š[˜˜dÑ6 o×6Ò6¸!Ø�G‰G”D—J’J 	¨1¨f°cÐ:Ó;×BÑBÓDÔE÷ 7Ñ6øô	 *ô IØ(¬6×+;Ò+;¸AÓ+>Õ>×FÑFÓH�C”FðIú÷ 7×6Ð6ús   ¹B8Á68C7Â88C4Ã3C4Ã7D	)
r’  r/  r‘  r”  r“  r;   r�  r   rŽ  r�  )NNNNNNNNTi ú  i @Br€  r‚  )F)Frä  r   )r‰  NN)T)NFF)Ú	overwrite)'r$   r%   r&   r'   rƒ  rC   Úcachabler   r¹  r½  rž   rÇ  rÎ  r	   rÔ  r5   rÙ  r›  r  r  r  r  r7  r<  rè   r´   r—  rF  rQ  rX  r™  r_  rb  rf  rj  rp  r(   r)   r*   r+   s   @@r   r‡  r‡  ]  s»   ù‡ € ñð €HØ€H÷aôF*!ôX
BôBò&òð /?ô 
,ô2ô`ôDHò	%ôMòB&ò#òJTô<
ô4(ò$5òJò'ô/÷ò"ò*òôô÷Fò Fr   r‡  c                   óX   a a€ ] tR tRt oRV 3R llt]R 4       tV 3R ltR tRt	Vt
V ;t# )r=  ið  c	                ó   <€ \         SV `  ! VV3R VRVRVRVRVRV/V	B  V P                  P                  V P                  4      w  q n        V n        \        V
4      w  r¼V P                  P                  V,          V n	        W n
        RV n        R# )r>  r:  Ú
autocommitrÓ   Ú
cache_typer;  N)r   r   r…   r¹  r:   r²  r³  r   r‘  Úsrc_fsÚsrc_pathÚ_f)r   r…   r:   r>  r:  rv  rw  r;  rÓ   r¹   rÀ  rC   rõ   r   s   &&&&&&&&&,   €r   r   ÚReferenceFile.__init__ñ  s­   ø€ ô 	‰ÒØØñ
	
ð ð
	
ð "ð	
	
ð
 "ð
	
ð ð
	
ð "ð
	
ð (ð
	
ð ò
	
ð -1¯G©G×,?Ñ,?ÀÇ	Á	Ó,JÑ)ˆ”Z ¤Ü$ [Ó1‰ˆØ—g‘g—k‘k (Õ+ˆŒØ#ŒØˆŽr   c                ó&  € V P                   e   V P                   P                  '       d]   V P                  P                  ! V P                  3RV P
                  RV P                  RV P                  RR/V P                  B V n         V P                   # )Nr>  r:  rv  rw  Únone)	rz  Úclosedrx  r<  ry  r>  Ú	blocksizerv  r¹   r!   s   &r   rá   ÚReferenceFile.f  s   € à�7‰7Š?˜dŸg™gŸnŸn˜nØ—k‘k×'Ò'Ø—‘ñà—Y‘Yðð  Ÿ>™>ðð  Ÿ?™?ð	ð
 "ðð —+‘+ñˆDŒGð �w‰wˆr   c                óp   <€ V P                   e   V P                   P                  4        \        SV `  4       # r   )rz  Úcloser   )r   r   s   &€r   r‚  ÚReferenceFile.close  s&   ø€ Ø�7‰7ÒØ�G‰G�M‰MŒOÜ‰w‰}‹Ðr   c                óê   € WP                   ,           p\        W P                   ,           V P                  4      pV P                  P	                  V4       V P                  P                  W!,
          4      # r   )r²  Úminr³  rá   Úseekri  )r   r²  r³  s   &&&r   Ú_fetch_rangeÚReferenceFile._fetch_range   sJ   € ØŸ
™
Õ"ˆÜ�#Ÿ
™
Õ" D§H¡HÓ-ˆØ�‰�‰�EÔØ�v‰v�{‰{˜3�;Ó'Ð'r   )rz  r³  rx  ry  r²  )r‰  ÚdefaultTÚ	readaheadNN)r$   r%   r&   r'   r   r„  rá   r‚  r‡  r(   r)   r*   r+   s   @@r   r=  r=  ð  s-   ù‡ € ÷ð: ñ
ó ð
õ÷
(ò (r   r=  )2r°  Úcollectionsrœ   r{  Úloggingr  rË  Ú	functoolsr   r   Útypingr   r   Úfsspec.corer„   Úfsspec.specr   ÚujsonrK   r‰   Úfsspec.asynr   Úfsspec.callbacksr	   r
   r   r   Ú#fsspec.implementations.asyn_wrapperr   Úfsspec.utilsr   r   r   Ú	getLoggerr˜  ÚRuntimeErrorr   r2   r=   rD   ÚabcÚ
ValuesViewrF   Ú	ItemsViewr\   rh   ÚMutableMappingrj   r‡  r=  rX   r   r   Ú<module>rœ     s  ðÛ Û Û 	Û Û Û Û 	Ý Ý ß )ã Ý ,ðÛõ
 (Ý -ß 8Ñ 8Ý F÷ñ ð 
×	Ò	Ð-Ó	.€ôT˜Lô Tò"ò?òô
B�[—_‘_×/Ñ/ô 
BôA�K—O‘O×-Ñ-ô Aò
ô@˜+Ÿ/™/×8Ñ8ô @ôDP
F˜/ô P
Fôf4(Ð(ö 4(øð& ô ßÛùðús   ¼D ÄDÄDÄD