Ë ¦é¯¨±–ãó:—dZddlZddlZd„ZGd„de«Zd„Zy)zÁPython module for generating .ninja files. Note that this is emphatically not a required piece of Ninja; it's just a helpful utility for build-file-generation systems that already use Python. éNcóf—|jdd«jdd«jdd«S)Nz$ z$$ Ú Ú:z$:©Úreplace)Úwords ú5/usr/lib/python3.12/site-packages/gyp/ninja_syntax.pyÚ escape_pathr s-€Ø �<‰<˜˜UÓ #× +Ñ +¨C°Ó 5× =Ñ =¸cÀ4Ó HÐHócón—eZdZdd„Zd„Zd„Zdd„Zd„Z dd„Z dd„Z d „Z d „Z d „Z d „Z dd „Zd„Zy)ÚWritercó —||_||_y©N)ÚoutputÚwidth)Úselfrrs r Ú__init__zWriter.__init__s€ØˆŒ ؈� r có:—|jjd«y)NÚ )rÚwrite)rs r ÚnewlinezWriter.newlines€Ø � ‰ ×ј$Õr có–—tj||jdz «D]#}|jj d|zdz«Œ%y)Néz# r)ÚtextwrapÚwraprrr)rÚtextÚlines r ÚcommentzWriter.comments:€Ü—M‘M $¨¯ © °Q©Ö7ˆDØ �K‰K× Ñ ˜d T™k¨DÑ0Õ 1ñ8r cóŽ—|€yt|t«rdjtd|««}|j |›d|›�|«y)Nrz = )Ú isinstanceÚlistÚjoinÚfilterÚ_line)rÚkeyÚvalueÚindents r ÚvariablezWriter.variables<€Ø ˆ=Ø Ü �eœTÔ "Ø—H‘HœV D¨%Ó0Ó1ˆEØ � ‰ ¢¡UÐ+¨VÕ4r cóT—|jd|z«|jd|d¬«y)Nzpool %sÚdepthé©r'©r$r()rÚnamer*s r Úpoolz Writer.pool%s%€Ø � ‰ �9˜tÑ#Ô$Ø � ‰ �g˜u¨Qˆ Õ/r Nc ó¶—|jd|z«|jd|d¬«|r|jd|d¬«|r|jd|d¬«|r|jddd¬«|r|jd |d¬«|r|jd dd¬«|r|jd |d¬«| r|jd | d¬«| r|jd | d¬«yy)Nzrule %sÚcommandr+r,Ú descriptionÚdepfileÚ generatorÚ1r/ÚrestatÚrspfileÚrspfile_contentÚdepsr-) rr.r1r2r3r4r/r6r7r8r9s r Úrulez Writer.rule)sÕ€ð � ‰ �9˜tÑ#Ô$Ø � ‰ �i °ˆ Ô3Ù Ø �M‰M˜-¨¸QˆMÔ ?Ù Ø �M‰M˜) W°QˆMÔ 7Ù Ø �M‰M˜+ s°1ˆMÔ 5Ù Ø �M‰M˜& $¨qˆMÔ 1Ù Ø �M‰M˜( C°ˆMÔ 2Ù Ø �M‰M˜) W°QˆMÔ 7Ù Ø �M‰MÐ+¨_ÀQˆMÔ GÙ Ø �M‰M˜& $¨qˆMÕ 1ð r c óÜ—|j|«}|j|«dd}ttt|««}ttt|««}|rAtt|j|««}|j d«|j |«|rAtt|j|««}|j d«|j |«|j ddj|«›ddj|g|z«›�«|rSt|t«rt|j««} n t|«} | D]\} } |j| | d¬«Œ|S)NÚ|z||zbuild rz: r+r,) Ú_as_listr!Úmapr ÚappendÚextendr$r"r ÚdictÚiterÚitemsr() rÚoutputsr:ÚinputsÚimplicitÚ order_onlyÚ variablesÚ all_inputsÚ out_outputsÚiteratorr%Úvals r Úbuildz Writer.build?s.€à—-‘- Ó(ˆØ—]‘] 6Ó*©1Ð-ˆ Üœ3œ{¨GÓ4Ó5ˆ Üœ#œk¨:Ó6Ó7ˆ á Üœ;¨¯ © °hÓ(?Ó@ˆHØ × Ñ ˜cÔ "Ø × Ñ ˜hÔ 'Ù Üœ[¨$¯-©-¸ Ó*CÓDˆJØ × Ñ ˜dÔ #Ø × Ñ ˜jÔ )à � Š  S§X¡X¨kÕ%:Ø(+¯©°$°¸*Ñ1DÔ(EðGô Hñ ܘ)¤TÔ*Ü  §¡Ó 1Ó2‘ä  ›?�ã$‘��SØ— ‘ ˜c 3¨q� Õ1ð%ðˆr có,—|jd|z«y)Nz include %s©r$©rÚpaths r ÚincludezWriter.include]s€Ø � ‰ �< $Ñ&Õ'r có,—|jd|z«y)Nz subninja %srOrPs r ÚsubninjazWriter.subninja`s€Ø � ‰ �= 4Ñ'Õ(r cóh—|jddj|j|««z«y)Nz default %sr)r$r"r=)rÚpathss r ÚdefaultzWriter.defaultcs%€Ø � ‰ �< #§(¡(¨4¯=©=¸Ó+?Ó"@Ñ@ÕAr có^—d}|dz }|dkDr ||dk(r|dz }|dz}|dkDr ||dk(rŒ|S)zÀÑBÀaÒGØð ð �qŠyà'¨!Ñ+�ØØŸ)™) C¨°©Ó3�%ؘQ’YØ×5Ñ5°d¸EÓBÀQÑFÈ!ÒKØð ð �qŠyàà �K‰K× Ñ ˜m¨d°1°U¨mÑ;¸fÑDÔ Eؘ˜a™˜�>ˆDð! F¨1¡HÑ-ˆMô;�-Ó ¤3 t£9Ñ,¨t¯z©zÓ9ð> � ‰ ×ј-¨$Ñ.°Ñ5Õ6r có�—|€gSt|t«r|S t|t«r t|«S |gS#t$rY|gSwxYwr)r r!r>Ú TypeError)rÚinputs r r=zWriter._as_list“s]€Ø ˆ=؈IÜ �eœTÔ "؈Lð ܘ%¤Ô%ܘE“{Ð"ð&ð ˆwˆøôò Ø àˆwˆð ús˜7· AÁA)éN)r)NNFNFNNN)NNNN)Ú__name__Ú __module__Ú __qualname__rrrr(r/r:rMrRrTrWr_r$r=rZr r r r s[„óò ò2ó5ò0ð=AØ?CØ(,ó2ð,KOØóò<(ò)òBòó"7óH r r có<—d|vsJd«‚|jdd«S)zbEscape a string such that it can be embedded into a Ninja file without further interpretation.rz$Ninja syntax does not allow newlinesrYz$$r)Ústrings r Úescaperp£s)€ð �vÑ ÐEÐEÓEÐ à �>‰>˜#˜tÓ $Ð$r )Ú__doc__rÚrer Úobjectr rprZr r Úrts,ðñ óÛ òIôNˆVôNób%r