+
    UBi	                      ^ RI H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 ^RI	Ht ^RI	Ht ^RIHt ^R	IHtHt ^R
IHt ]P*                  '       d   ^RIHt ^RIHt Rt/ RRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbR R!bR"RbR#R$bR%R&bR'R(bR)R*bR+R,R-R.R/R0/CtR1R,/tRR2RR3R4R5R6R7R#R8/tR9RR:R:R;R:R<R<R=R=R>R>R)R)/tR?R@RARB/t0 R_mtRCR`RDRaRERbRFRcRGRdRHReRIRfRJRgRKRhRLRiRMRjRNRk/tRO RP lt  ! RQ RR4      t! ! RS RT4      t" ! RU RV4      t# ! RW RX4      t$ ! RY RZ4      t% ! R[ R\4      t& ! R] R^]
PN                  4      t(R# )l    )annotationsN)backends)build)	compilers)mesonlib)mlog)CompilerArgs)MesonBugExceptionMesonException)	OptionKey)BuildTarget)Compiler	czsourcecode.c.caz
archive.arcczsourcecode.cpp.cppcxxcppzc++mzsourcecode.c.objcmmzsourcecode.cpp.objcpphzsourcecode.c.hhppzsourcecode.cpp.hhxxhhzsourcecode.cpp.hhincswiftzsourcecode.swiftdylibzcompiled.mach-o.dylibozcompiled.mach-o.objfileszsourcecode.asmasmzsourcecode.nasmmetalzsourcecode.metalglslzsourcecode.glslnasmC	CPLUSPLUSobjcOBJCobjcppOBJCPLUSPLUSSWIFT_plain0g123TYESFNO1500140013001200114011001000930800630320310c                   V ^8  d   QhRR/# )   returnzT.Tuple[str, int] )formats   "D/usr/lib/python3.14/site-packages/mesonbuild/backend/xcodebackend.py__annotate__rE   L   s     U U"3 U    c                     \         P                  ! R R.4      w  rpT P                  ^ 8w  d   \        RT 24      h\        RP                  \        P                  ! RT4      P                  ^ 4      P                  R4      4      4      pTP                  R4      ^8  d
   T^
,          p\        P                  4        F  w  rE\        T4      T8:  g   K  Tu # 	  \        R4      h  \         d    \        R4      hi ; i)
xcodebuildz-versionzOCould not detect Xcode. Please install it if you wish to use the Xcode backend.z)An error occurred while detecting Xcode:  z\d*\.\d*\.*\d*.z8Your Xcode installation is too old and is not supported.)r   
Popen_safeFileNotFoundErrorr   
returncodeintjoinresearchgroupsplitcountXCODEVERSIONSitems)pcstdoutstderrversionvrs         rD   autodetect_xcode_versionr]   L   s    p%00,
1KLF 
}}HQRR"''"))$5v>DDQGMMcRSTG||C12##%q6WH & S
TT  pnoops   C$ $C;c                  "    ] tR t^\tR R ltRtR# )FileTreeEntryc                   V ^8  d   QhRR/# r@   rA   NonerB   )rC   s   "rD   rE   FileTreeEntry.__annotate__^   s     5 5$ 5rF   c                	"    / V n         . V n        R # Nsubdirstargetsselfs   &rD   __init__FileTreeEntry.__init__^   s    3524rF   rf   N__name__
__module____qualname____firstlineno__rk   __static_attributes__rB   rF   rD   r_   r_   \   s    5 5rF   r_   c                  >    ] tR t^btR R ltR	R R lltR R ltRtR# )
PbxArrayc                   V ^8  d   QhRR/# ra   rB   )rC   s   "rD   rE   PbxArray.__annotate__c   s     . .$ .rF   c                	    . V n         R # re   rV   ri   s   &rD   rk   PbxArray.__init__c   s	    +-
rF   c               $    V ^8  d   QhRRRRRR/# )r@   itemzT.Union[PbxArrayItem, str]commentstrrA   rb   rB   )rC   s   "rD   rE   rv   f   s"     ; ;7 ;# ;t ;rF   c                	    \        V\        4      '       d   V P                  P                  V4       R # V P                  P                  \        W4      4       R # re   )
isinstancePbxArrayItemrV   append)rj   r{   r|   s   &&&rD   add_itemPbxArray.add_itemf   s8    dL))JJd#JJl49:rF   c               $    V ^8  d   QhRRRRRR/# r@   ofilezT.TextIOindent_levelrN   rA   rb   rB   )rC   s   "rD   rE   rv   l   s!     	2 	28 	23 	24 	2rF   c                	   VP                  R 4       V^,          pV P                   F  pVP                  '       d@   VP                  V\        ,          VP                   RVP                   R2,           4       KT  VP                  V\        ,          VP                   R2,           4       K  	  V^,          pVP                  V\        ,          R,           4       R# )z(
 z,
z);
N)writerV   r|   INDENTvaluerj   r   r   is   &&& rD   r   PbxArray.writel   s    EAyyyL/QWWIQqyyk2MMNL/QWWIS/AB	 
 	L'&01rF   rx   NrI   )rn   ro   rp   rq   rk   r   r   rr   rB   rF   rD   rt   rt   b   s    .;	2 	2rF   rt   c                  &    ] tR t^wtRR R lltRtR# )r   c                    V ^8  d   QhRRRR/# )r@   r   r}   r|   rB   )rC   s   "rD   rE   PbxArrayItem.__annotate__x   s     # #c #C #rF   c                	f    Wn         V'       d   R V9   d	   W n        R# RV R2V n        R# W n        R# z/*/*  */N)r   r|   )rj   r   r|   s   &&&rD   rk   PbxArrayItem.__init__x   s+    
w&!$WIS1"LrF   )r|   r   Nr   rm   rB   rF   rD   r   r   w   s    # #rF   r   c                  .    ] tR t^tR R ltR R ltRtR# )
PbxCommentc                   V ^8  d   QhRR/# )r@   textr}   rB   )rC   s   "rD   rE   PbxComment.__annotate__   s     $ $S $rF   c                	^    \        V\        4      '       g   Q hR V9  g   Q hRV R2V n        R# r   )r   r}   r   )rj   r   s   &&rD   rk   PbxComment.__init__   s2    $$$$$4$sO	rF   c               $    V ^8  d   QhRRRRRR/# r   rB   )rC   s   "rD   rE   r      s!     ( (8 (3 (4 (rF   c                	D    VP                  R V P                   R 24       R# )
N)r   r   )rj   r   r   s   &&&rD   r   PbxComment.write   s    b2&'rF   )r   N)rn   ro   rp   rq   rk   r   rr   rB   rF   rD   r   r      s    $
( (rF   r   c                  2    ] tR t^tRR R lltR R ltRtR# )PbxDictItemc               $    V ^8  d   QhRRRRRR/# )r@   keyr}   r   $T.Union[PbxArray, PbxDict, str, int]r|   rB   )rC   s   "rD   rE   PbxDictItem.__annotate__   s#     # #C #(L #WZ #rF   c                	    Wn         \        V\        4      '       d   V P                  V4      V n        MW n        V'       d   R V9   d	   W0n        R# RV R2V n        R# W0n        R# r   )r   r   r}   quote_valuer   r|   )rj   r   r   r|   s   &&&&rD   rk   PbxDictItem.__init__   sO    eS!!))%0DJJw&!$WIS1"LrF   c                    V ^8  d   QhRRRR/# )r@   r   r}   rA   rB   )rC   s   "rD   rE   r      s     	 	 	 	rF   c                	    R V R 2pV'       g   V# \        R4      P                  V4      '       g   V^ ,          R 8X  d   V# V# )"z +@$<>/)set
isdisjoint)rj   r   quoteds   && rD   r   PbxDictItem.quote_value   s@    UG1My>$$U++uQx3LrF   )r|   r   r   Nr   )rn   ro   rp   rq   rk   r   rr   rB   rF   rD   r   r      s    #	 	rF   r   c                  b    ] tR t^tR R ltRR R lltR R ltR R ltR	 R
 ltR R lt	Rt
R# )PbxDictc                   V ^8  d   QhRR/# ra   rB   )rC   s   "rD   rE   PbxDict.__annotate__   s     B B$ BrF   c                	2    \        4       V n        . V n        R # re   )r   keysrV   ri   s   &rD   rk   PbxDict.__init__   s     !$	?A
rF   c               (    V ^8  d   QhRRRRRRRR/# )r@   r   r}   r   r   r|   rA   rb   rB   )rC   s   "rD   rE   r      s+        C  (L  WZ  dh  rF   c                	    WP                   9  g   Q h\        WV4      pV P                   P                  V4       V P                  P	                  V4       R # re   )r   r   addrV   r   )rj   r   r   r|   r{   s   &&&& rD   r   PbxDict.add_item   s@    ))###3w/		c

$rF   c                    V ^8  d   QhRRRR/# )r@   r   r}   rA   r   rB   )rC   s   "rD   rE   r      s      C K rF   c                	    WP                   9   g   Q hV P                   F0  p\        V\        4      '       g   K  VP                  V8X  g   K.  Vu # 	  R # re   )r   rV   r   r   r   )rj   r   r{   s   && rD   get_itemPbxDict.get_item   sE    iiJJDdK00xx3	 
 rF   c                    V ^8  d   QhRRRR/# )r@   r   r}   rA   boolrB   )rC   s   "rD   rE   r      s        C  D  rF   c                	    WP                   9   # re   )r   )rj   r   s   &&rD   has_itemPbxDict.has_item   s    iirF   c                    V ^8  d   QhRRRR/# )r@   r|   r   rA   rb   rB   )rC   s   "rD   rE   r      s     # #: #$ #rF   c                	l    \        V\        4      '       g   Q hV P                  P                  V4       R # re   )r   r   rV   r   )rj   r|   s   &&rD   add_commentPbxDict.add_comment   s'    ':....

'"rF   c               $    V ^8  d   QhRRRRRR/# r   rB   )rC   s   "rD   rE   r      s!     & &8 &3 &4 &rF   c           
     	   VP                  R 4       V^,          pV P                   EF  p\        V\        4      '       d   VP                  W4       K-  \        V\        4      '       Ed   \        VP
                  \        \        34      '       d   VP                  '       dM   VP                  V\        ,          VP                   RVP
                   RVP                   R2,           4       K  VP                  V\        ,          VP                   RVP
                   R2,           4       EK  \        VP
                  \        4      '       d   VP                  '       d?   VP                  V\        ,          VP                   RVP                   R2,           4       M0VP                  V\        ,          VP                   R2,           4       VP
                  P                  W4       EK  \        VP
                  \        4      '       d   VP                  '       d?   VP                  V\        ,          VP                   RVP                   R2,           4       M0VP                  V\        ,          VP                   R2,           4       VP
                  P                  W4       EK  \        V4       \        VP                  4       \        VP
                  4       \        R4      h\        V4       \        R4      h	  V^,          pVP                  V\        ,          R,           4       V^ 8X  d   VP                  R4       R# VP                  R4       R# )	z{
z = r   z;
zmissing codezmissing code2}r   N)r   rV   r   r   r   r   r}   rN   r|   r   r   r   rt   printRuntimeErrorr   s   &&& rD   r   PbxDict.write   s5   EA!Z((,A{++aggSz22yyyL$7QUUG3qwwiqQRQZQZP[[^:_$_`L$7QUUG3qwwis:S$ST11yyyL$7QUUG1QYYKs:S$STL$7QUUG3-$GHGGMM%622yyyL$7QUUG1QYYKs:S$STL$7QUUG3-$GHGGMM%6!H!%%L!''N&~66a"?339 < 	L'#-.1KKKKrF   )rV   r   Nr   )rn   ro   rp   rq   rk   r   r   r   r   r   rr   rB   rF   rD   r   r      s&    B  #& &rF   r   c                  N  a  ] tR t^tRtR V 3R lltR R ltR R lt]P                  ! RR	7      R
 R l4       t
R R ltRR R lltR R ltRR R lltR R ltR R ltR R ltR R ltR R ltR R ltR  R! ltR" R# ltR$ R% ltR& R' ltR( R) ltR* R+ ltR, R- ltR. R/ ltR0 R1 ltR2 R3 ltR4 R5 ltR6 R7 lt R8 R9 lt!R: R; lt"R< R= lt#R> R? lt$R@ RA lt%RB RC lt&RD RE lt'RF RG lt(RH RI lt)RJ RK lt*RL RM lt+RN RO lt,RP RQ lt-RR RS lt.RT RU lt/RV RW lt0RX RY lt1RZ R[ lt2R\ R] lt3R^ R_ lt4R` Ra lt5Rb Rc lt6Rd Re lt7Rf Rg lt8Rh Ri lt9Rj Rk lt:Rl Rm lt;Rn Ro lt<Rp Rq lt=Rr Rs lt>Rt Ru lt?Rv Rw lt@Rx Ry ltARz R{ ltBR| R} ltCR~ R ltDR R ltERtFV ;tG# )XCodeBackendxcodec                   V ^8  d   QhRR/# )r@   r   zT.Optional[build.Build]rB   )rC   s   "rD   rE   XCodeBackend.__annotate__   s      5 rF   c                	Z  < \         SV `  V4       V P                  P                  P                  R ,          P                  RR4      R,          V n        \        P                  ! RV P                  P                  P                  P                  \        R4      4      4      V n        V P                  4       V n        V P                  4       V n        V P                  4       V n        V P                  4       V n        V P                  .V n        V P                  4       V n        V P                  4       V n        V P                  4       V n        V P                  4       V n        V P                  4       V n        V P                  4       V n        V P                  4       V n        \5        4       V n        / V n        V P:                  P                  P<                  P>                  P@                  V n!        V PB                  R8X  d   RV n!        \E        4       w  V n#        V n$        / V n%        / V n&        R# )	default-rI   N   Nr}   	buildtypeaarch64arm64N)'superrk   environmentcoredata
lang_guidsreplaceproject_uidTcastoptstoreget_value_forr   r   gen_idproject_conflistmaingroup_idall_idall_buildconf_id
buildtypestest_idtest_command_idtest_buildconf_idregen_idregen_command_idregen_buildconf_idregen_dependency_idr   top_level_dictgenerator_outputsr   machineshostcpuarchr]   xcodeversion
objversionbuildfile_idsfileref_ids)rj   r   	__class__s   &&rD   rk   XCodeBackend.__init__   s   ++44??	JRRSVXZ[\_`t'7'7'@'@'I'I'W'WXabmXn'op $ KKMkkm $>>*{{}#{{}!% $"&++-#';;= %i!#JJ**3388<<	99	!DI-E-G*4?   rF   c               $    V ^8  d   QhRRRRRR/# )r@   r   r   	ofilenamer}   rA   rb   rB   )rC   s   "rD   rE   r     s!     ' 'G ' ' 'rF   c                	    VR ,           p\        VRRR7      ;_uu_ 4       pVP                  R4       VP                  V^ 4       RRR4       \        P                  ! W24       R#   + '       g   i     L(; i)z.tmpwzutf-8)encodingz// !$*UTF8*$!
N)openr   osr   )rj   r   r  tmpnamer   s   &&&  rD   write_pbxfileXCodeBackend.write_pbxfile  sV    f$'311UKK)*  * 2 	

7& 21s   $A$$A4	c                   V ^8  d   QhRR/# )r@   rA   r}   rB   )rC   s   "rD   rE   r     s     ? ? ?rF   c                	    \        \        P                  ! 4       4      P                  4       P	                  R R4      R,          # )r   rI   r   )r}   uuiduuid4upperr   ri   s   &rD   r   XCodeBackend.gen_id  s.    4::< &&(00b9#>>rF   N)maxsizec                    V ^8  d   QhRRRR/# r@   targetbuild.AnyTargetTyperA   r}   rB   )rC   s   "rD   rE   r     s      %8 S rF   c                	    \         P                  P                  VP                  4       \        P
                  ! R V P                  P                  P                  P                  \        R4      4      4      4      pV# )r}   r   )r  pathrO   
get_subdirr   r   r   r   r   r   r   rj   r  dirnames   && rD   get_target_dirXCodeBackend.get_target_dir  se    '',,v002AFF5$BRBRB[B[BdBdBrBrs|  ~I  tJ  CK  5L  MrF   c                    V ^8  d   QhRRRR/# r  rB   )rC   s   "rD   rE   r      s      3F 3 rF   c                	    VP                  4       p\        P                  ! \        P                  P	                  V P
                  P                  4       V4      R R7       V# )Texist_ok)r  r  makedirsr  rO   r   get_build_dirr  s   && rD   get_custom_target_output_dir)XCodeBackend.get_custom_target_output_dir   sB    ##%
BGGLL!1!1!?!?!A7KVZ[rF   c               (    V ^8  d   QhRRRRRRRR/# )	r@   r  build.BuildTargetsourcezmesonlib.FileOrString	targetdirzT.Optional[str]rA   r}   rB   )rC   s   "rD   rE   r   %  s0      2C Mb o~   KN rF   c                	   V P                   P                  pV P                  pVP                  4       p\	        V\
        P                  4      '       d   VP                  p\        P                  P                  \        P                  P                  V4      4      ^ ,          pRV RV RV RV P                   RV R2pV# )r   zbuild/z.build//z.build/Objects-normal/.o)r   project_namer   get_idr   r   Filefnamer  r  splitextbasenamer   )	rj   r  r(  r)  projectr   tnamestemobj_paths	   &&&&     rD   object_filename_from_source(XCodeBackend.object_filename_from_source%  s     **))NN	fhmm,,\\Fww 0 0 89!<G9GI;aw>TUYU^U^T__`ae`ffhirF   c                    V ^8  d   QhRRRR/# )r@   r  r'  rA   T.List[str]rB   )rC   s   "rD   rE   r   2  s      /@ [ rF   c           	     	    . pVP                    FY  pVP                  \        P                  P	                  V P
                  P                  4       V P                  V4      4      4       K[  	  V# re   )link_targetsr   r  r  rO   r   r#  r  )rj   r  resultls   &&  rD   determine_swift_dep_dirs%XCodeBackend.determine_swift_dep_dirs2  sT     $$AMM"'',,t'7'7'E'E'GI\I\]^I_`a % rF   c               $    V ^8  d   QhRRRRRR/# )r@   capturer   
vslite_ctxzT.Optional[T.Dict]rA   rb   rB   )rC   s   "rD   rE   r   9  s(     R# R# R#:L R#X\ R#rF   c                	   V'       d   \        R 4      hV'       d   \        R4      hV P                  4        V P                  P                  4       V n        V P                  P                  4       V n        V P                  4        V P                  ^28  d   V P                  4        V P                  4        V P                  4        V P                  4        V P                  4        V P                  4        V P                  4        V P!                  4        V P#                  4        V P%                  4        V P'                  4        V P)                  4        V P+                  4        V P-                  4        V P/                  4        V P1                  4        V P3                  4        V P5                  4        \6        P8                  P;                  V P<                  P?                  4       V P                  P@                  R,           4      V n!        \6        PD                  ! V PB                  RR7       \6        P8                  P;                  V PB                  R4      V n#        V PI                  V PJ                  4      pVPM                  \O        R4      4       V PQ                  V4       VPM                  \O        R4      4       VPM                  \O        R4      4       V PS                  V4       VPM                  \O        R	4      4       VPM                  \O        R
4      4       V PU                  V4       VPM                  \O        R4      4       VPM                  \O        R4      4       V P                  ^28  dF   V PW                  V4       VPM                  \O        R4      4       VPM                  \O        R4      4       V PY                  V4       VPM                  \O        R4      4       VPM                  \O        R4      4       V P[                  V4       VPM                  \O        R4      4       VPM                  \O        R4      4       V P]                  V4       VPM                  \O        R4      4       VPM                  \O        R4      4       V P_                  V4       VPM                  \O        R4      4       VPM                  \O        R4      4       V Pa                  V4       VPM                  \O        R4      4       VPM                  \O        R4      4       V Pc                  V4       VPM                  \O        R4      4       VPM                  \O        R4      4       V Pe                  V4       VPM                  \O        R4      4       VPM                  \O        R4      4       V Pg                  V4       VPM                  \O        R4      4       VPM                  \O        R4      4       V Pi                  V4       VPM                  \O        R4      4       VPM                  \O        R 4      4       V Pk                  V4       VPM                  \O        R!4      4       VPM                  \O        R"4      4       V Pm                  V4       VPM                  \O        R#4      4       V Po                  V PJ                  4       V Pq                  V PJ                  V PF                  4       V Ps                  4        R$# )%zDWe do not expect the xcode backend to generate with 'capture = True'zCWe do not expect the xcode backend to be given a valid 'vslite_ctx'z
.xcodeprojTr   zproject.pbxprojz Begin PBXAggregateTarget sectionzEnd PBXAggregateTarget sectionzBegin PBXBuildFile sectionzEnd PBXBuildFile sectionzBegin PBXBuildRule sectionzEnd PBXBuildRule sectionzBegin PBXBuildStyle sectionzEnd PBXBuildStyle sectionz#Begin PBXContainerItemProxy sectionz!End PBXContainerItemProxy sectionzBegin PBXFileReference sectionzEnd PBXFileReference sectionz%Begin PBXFrameworksBuildPhase sectionz#End PBXFrameworksBuildPhase sectionzBegin PBXGroup sectionzEnd PBXGroup sectionzBegin PBXNativeTarget sectionzEnd PBXNativeTarget sectionzBegin PBXProject sectionzEnd PBXProject sectionz&Begin PBXShellScriptBuildPhase sectionz$End PBXShellScriptBuildPhase sectionz"Begin PBXSourcesBuildPhase sectionz End PBXSourcesBuildPhase sectionz!Begin PBXTargetDependency sectionzEnd PBXTargetDependency sectionz"Begin XCBuildConfiguration sectionz End XCBuildConfiguration sectionz!Begin XCConfigurationList sectionzEnd XCConfigurationList sectionN):r
   serialize_testsr   get_build_targetsbuild_targetsget_custom_targetscustom_targetsgenerate_filemapr   generate_buildstylemapgenerate_build_phase_map generate_build_configuration_map$generate_build_configurationlist_map#generate_project_configurations_map$generate_buildall_configurations_map generate_test_configurations_mapgenerate_native_target_mapgenerate_native_frameworks_mapgenerate_custom_target_map&generate_native_target_build_rules_mapgenerate_generator_target_mapgenerate_source_phase_mapgenerate_target_dependency_mapgenerate_pbxdep_mapgenerate_containerproxy_mapgenerate_target_file_mapsgenerate_build_file_mapsr  r  rO   r   r#  r-  proj_dirr"  	proj_filegenerate_prefixr   r   r   generate_pbx_aggregate_targetgenerate_pbx_build_filegenerate_pbx_build_rulegenerate_pbx_build_style!generate_pbx_container_item_proxygenerate_pbx_file_reference"generate_pbx_frameworks_buildphasegenerate_pbx_groupgenerate_pbx_native_targetgenerate_pbx_projectgenerate_pbx_shell_build_phase generate_pbx_sources_build_phasegenerate_pbx_target_dependencygenerate_xc_build_configurationgenerate_xc_configurationListgenerate_suffixr
  generate_regen_info)rj   rB  rC  objects_dicts   &&& rD   generateXCodeBackend.generate9  s.   #$lmm#$kll!ZZ99;"jj;;=??R'')%%'--/113002113--/'')++-'')335**,&&(++-  "((*&&(%%'T%5%5%C%C%EtzzG^G^amGmn
DMMD1dmm5FG++D,?,?@  ,N!OP**<8  ,L!MN  ,H!IJ$$\2  ,F!GH  ,H!IJ$$\2  ,F!GH  ,I!JK??R)),7$$Z0K%LM$$Z0U%VW..|<  ,O!PQ  ,L!MN((6  ,J!KL  ,S!TU//=  ,Q!RS  ,D!EF-  ,B!CD  ,K!LM''5  ,I!JK  ,F!GH!!,/  ,D!EF  ,T!UV++L9  ,R!ST  ,P!QR--l;  ,N!OP  ,O!PQ++L9  ,M!NO  ,P!QR,,\:  ,N!OP  ,O!PQ**<8  ,M!NOT0014..?  "rF   c                    V ^8  d   QhRRRR/# )r@   r0  r}   rA   rB   )rC   s   "rD   rE   r     s      3 3 rF   c                	    VP                  R 4      R,          pVR8X  d   Rp\        P                  VP                  4       4      pV'       g   RpV# )rJ   r$   r   zsourcecode.unknown)rS   XCODETYPEMAPgetlower)rj   r0  	extension	xcodetypes   &&  rD   get_xcodetypeXCodeBackend.get_xcodetype  sG    KK$R(	I $$Y__%67	,IrF   c                   V ^8  d   QhRR/# ra   rB   )rC   s   "rD   rE   r     s      6  6$  6rF   c                	   / V n         / V n        / V n        V P                  P	                  4        EF  w  rVP
                   EF-  p\        V\        P                  4      '       g   K&  R VP                  9   d   \        P                  P                  \        P                  P                  VP                  4      4      pV'       dX   \        P                  P                  ! V!  pWR3V P                  9  d    V P                  4       V P                  WR3&   MMVRR pK_  \        P                  P                  VP                   VP                  4      pV P                  4       V P                   V&   EK0  	  VP"                   Fb  p\        V\$        4      '       g   K  \        P                  P                  VP                   V4      pV P                  4       V P                   V&   Kd  	  VP&                   F  p\        V\        P                  4      '       dT   \        P                  P                  VP                   VP                  4      pV P                  4       V P                   V&   Kv  \        P                  P                  VP                   V4      pV P                  4       V P                   V&   K  	  V P                  4       V P                  V&   EK  	  R# )r+  Nrv  )filemap	foldermaptarget_filemaprG  rV   sourcesr   r   r/  r0  r  r  rS   r  rO   r   subdirobjectsr}   extra_files)rj   nametr   folderfpathr   es   &       rD   rJ  XCodeBackend.generate_filemap  s    ))//1GDYYa//agg~!#rwwqww/G!H$$&GGLL&$9E !&z?=A[[]z : %%+CR[FQXXqww7A&*kkmDLLO   YYa%%QXXq1A&*kkmDLLO  ]]a//QXXqww7A&*kkmDLLOQXXq1A&*kkmDLLO # )-D%9 2rF   c                   V ^8  d   QhRR/# ra   rB   )rC   s   "rD   rE   r     s     = = =rF   c                	H    V P                   V P                  4       /V n        R # re   )r   r   buildstylemapri   s   &rD   rK  #XCodeBackend.generate_buildstylemap  s    "nndkkm<rF   c                   V ^8  d   QhRR/# ra   rB   )rC   s   "rD   rE   r     s     7 7$ 7rF   c                	B   V P                   P                  4        F  w  r/ Vn        V P                  4       VP                  V&   V P                  4       VP                  R &   V P                  4       VP                  R&   V P                  4       VP                  R&   K  	  R# )
Frameworks	ResourcesSourcesN)rG  rV   buildphasemapr   )rj   r4  r  s   &  rD   rL  %XCodeBackend.generate_build_phase_map  st    **002HE AO%)[[]AOOE",0KKMAOOL)+/;;=AOOK()-AOOI& 3rF   c                   V ^8  d   QhRR/# ra   rB   )rC   s   "rD   rE   r     s     * *$ *rF   c                	   / V n         V P                   F-  pV P                  V P                  4       /pW P                   V&   K/  	  V P                   F-  pV P                  V P                  4       /pW P                   V&   K/  	  R # re   )buildconfmaprG  r   r   rI  )rj   r  bconfss   &  rD   rM  -XCodeBackend.generate_build_configuration_map  sp    ##Anndkkm4F#)a  $ $$Anndkkm4F#)a  %rF   c                   V ^8  d   QhRR/# ra   rB   )rC   s   "rD   rE   r     s     F FT FrF   c                	H    V P                   V P                  4       /V n        R # re   )r   r   project_configurationsri   s   &rD   rO  0XCodeBackend.generate_project_configurations_map  s    '+~~t{{}&E#rF   c                   V ^8  d   QhRR/# ra   rB   )rC   s   "rD   rE   r     s     G Gd GrF   c                	H    V P                   V P                  4       /V n        R # re   )r   r   buildall_configurationsri   s   &rD   rP  1XCodeBackend.generate_buildall_configurations_map  s    (,'F$rF   c                   V ^8  d   QhRR/# ra   rB   )rC   s   "rD   rE   r     s     C C$ CrF   c                	H    V P                   V P                  4       /V n        R # re   )r   r   test_configurationsri   s   &rD   rQ  -XCodeBackend.generate_test_configurations_map  s    $(NNDKKM#B rF   c                   V ^8  d   QhRR/# ra   rB   )rC   s   "rD   rE   r     s     5 5d 5rF   c                	    / V n         V P                   F   pV P                  4       V P                   V&   K"  	  V P                   F   pV P                  4       V P                   V&   K"  	  R # re   )buildconflistmaprG  r   rI  rj   r  s   & rD   rN  1XCodeBackend.generate_build_configurationlist_map  sV     "##A'+{{}D!!!$ $$$A'+{{}D!!!$ %rF   c                   V ^8  d   QhRR/# ra   rB   )rC   s   "rD   rE   r     s     3 3D 3rF   c                	t    / V n         V P                   F   pV P                  4       V P                   V&   K"  	  R # re   )native_targetsrG  r   r  s   & rD   rR  'XCodeBackend.generate_native_target_map  s0     ##A%)[[]D" $rF   c                   V ^8  d   QhRR/# ra   rB   )rC   s   "rD   rE   r     s     / / /rF   c                	    / V n         V P                  P                  4        FG  w  r/ pVP                   F"  pV\        9  d   K  V P                  4       W4&   K$  	  W0P                   V&   KI  	  R # re   )build_rulesrG  rV   r   NEEDS_CUSTOM_RULESr   )rj   r  r  	languageslanguages   &    rD   rU  3XCodeBackend.generate_native_target_build_rules_map  sd     ..446LDI",,#55&*kkm	# - &/T" 7rF   c                   V ^8  d   QhRR/# ra   rB   )rC   s   "rD   rE   r     s     E ED ErF   c                	   / V n         / V n        / V n        V P                  P	                  4        F  w  rV P                  4       V P                   V&   \        V\        P                  4      '       g   KD  V P                  V4      w  r4pV F=  pV P                  4       V P                  V&   V P                  4       V P                  V&   K?  	  K  	  R # re   )
shell_targetscustom_target_output_buildfilecustom_target_output_filerefrI  rV   r   r   r   CustomTargeteval_custom_target_command)rj   r4  r  srcs
ofilenamescmdr   s   &      rD   rT  'XCodeBackend.generate_custom_target_map  s    KM.0+,.)++113HE(,Du%a!3!344&*&E&Ea&H#Ts9=33A67;{{}11!4   4rF   c                   V ^8  d   QhRR/# ra   rB   )rC   s   "rD   rE   r     s     " "t "rF   c                	   / V n         / V n        V P                  P                  4        FW  w  r^ pVP                   F@  p\        V\        P                  4      '       g   K%  V P                  WAW#4       V^,          pKB  	  KY  	  V P                  P                  4        FW  w  r^ pVP                   F@  p\        V\        P                  4      '       g   K%  V P                  WAW#4       V^,          pKB  	  KY  	  R# r   N)generator_fileref_idsgenerator_buildfile_idsrG  rV   	generatedr   r   GeneratedListgen_single_target_maprI  r  )rj   r4  r  generator_idgenlists   &    rD   rV  *XCodeBackend.generate_generator_target_map  s     &("')$**002HEL;;!'5+>+>??**71K!	 ' 3 ++113HEL99!'5+>+>??**71K!	 % 4rF   c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# )r@   r  build.GeneratedListr4  r}   r  r  r  rN   rA   rb   rB   )rC   s   "rD   rE   r     s3     4 4-@ 4 4!44DG4LP4rF   c                	   W$3pWPP                   9  g   Q hV P                  4       V P                   V&   . pVP                  4        F  pVP                  V4       Fy  p\        P
                  P                  V P                  V4      V4      p	VP                  \        P
                  P                  V P                  P                  4       V	4      4       K{  	  K  	  WPP                  9  g   Q hW`P                  V&   . p
. p\        \        V4      4       FA  pV
P                  V P                  4       4       VP                  V P                  4       4       KC  	  WP                  V&   WP                  V&   R # re   )r  r   
get_inputsget_outputs_forr  r  rO   get_target_private_dirr   r   r#  r   rangelenr  r  )rj   r  r4  r  r  k	ofile_absr   o_baser   r   r   s   &&&&&       rD   r  "XCodeBackend.gen_single_target_map  s0   !***** $1	##%A!11!4GGLL!<!<Q!?H  d.>.>.L.L.NPQ!RS 5 & .....$-q!s9~&A  /t{{}- ' +8$$Q'(3""1%rF   c                   V ^8  d   QhRR/# ra   rB   )rC   s   "rD   rE   r   #  s     J J JrF   c                	   / V n         / V n        V P                  P                  4        F  pVP	                  4        F{  pVP
                  R 8X  g   K  VP                  4       '       g   K.  VP                   F=  pV P                  4       V P                   V&   V P                  4       V P                  V&   K?  	  K}  	  K  	  R# )appleframeworksN)	native_frameworksnative_frameworks_filerefrG  valuesget_external_depsr  found
frameworksr   )rj   r  depfs   &   rD   rS  +XCodeBackend.generate_native_frameworks_map#  s    !#)+&##**,A**,8800SYY[[ ^^48KKM..q1<@KKM66q9 , - -rF   c                   V ^8  d   QhRR/# ra   rB   )rC   s   "rD   rE   r   -  s     : : :rF   c                	D   / V n         V P                  P                  4        F  w  rVP                   F  p\	        V\
        P                  4      '       d/   WP                  P                  4       3pW@P                   9   d   KP  M#WP                  4       3pW@P                   9  g   Q hV P                  4       V P                   V&   K  	  K  	  V P                  P                  4        F6  w  rTpW@P                   9  g   Q hV P                  4       V P                   V&   K8  	  R # re   )target_dependency_maprG  rV   r<  r   r   CustomTargetIndexr  get_basenamer   rI  )rj   r4  r  r  r  s   &    rD   rX  +XCodeBackend.generate_target_dependency_map-  s    SU"**002HE..fe&=&=>> : : <=A666  7  3 3 56A$>$>>>>04**1- ) 3 ++113HEA66666,0KKMD&&q) 4rF   c                   V ^8  d   QhRR/# ra   rB   )rC   s   "rD   rE   r   >  s     7 7T 7rF   c                	    / V n         / V n        V P                   F   pV P                  4       V P                   V&   K"  	  V P                   F   pV P                  4       V P                  V&   K"  	  R # re   )pbx_dep_mappbx_custom_dep_maprG  r   rI  r  s   & rD   rY   XCodeBackend.generate_pbxdep_map>  s^    "$##A"&++-DQ $$$A)-D##A& %rF   c                   V ^8  d   QhRR/# ra   rB   )rC   s   "rD   rE   r   F  s     7 7T 7rF   c                	t    / V n         V P                   F   pV P                  4       V P                   V&   K"  	  R # re   )containerproxy_maprG  r   r  s   & rD   rZ  (XCodeBackend.generate_containerproxy_mapF  s0    "$##A)-D##A& $rF   c                   V ^8  d   QhRR/# ra   rB   )rC   s   "rD   rE   r   K  s     A A4 ArF   c                	r    V P                  V P                  4       V P                  V P                  4       R # re   )generate_target_file_maps_implrG  rI  ri   s   &rD   r[  &XCodeBackend.generate_target_file_mapsK  s*    ++D,>,>?++D,?,?@rF   c                   V ^8  d   QhRR/# ra   rB   )rC   s   "rD   rE   r   O  s     &8 &8 &8rF   c                	   VP                  4        EFK  w  r#VP                   F  p\        V\        P                  4      '       d5   \
        P                  P                  VP                  VP                  4      p\        V\        4      '       g   Ko  W$3pWPP                  9  g   Q hV P                  4       V P                  V&   WPP                  9  g   Q hV P                  4       V P                  V&   K  	  \        VR 4      '       g   K  VP                   EF6  p\        V\         P"                  4      '       d   K&  \        V\        P                  4      '       d5   \
        P                  P                  VP                  VP                  4      p\        V\        4      '       d   \
        P                  P                  VP                  V4      pW&3pWPP                  9  g   Q hV P                  4       V P                  V&   WPP                  9  g   Q hV P                  4       V P                  V&   EK  \%        R\        V4      ,           4      h	  VP&                   F  p\        V\        P                  4      '       d5   \
        P                  P                  VP                  VP                  4      p\        V\        4      '       g   Ko  \
        P                  P                  VP                  V4      pW'3pWPP                  9  g   Q hV P                  4       V P                  V&   WPP                  9  g   Q hV P                  4       V P                  V&   K  	  EKN  	  R# )r  zUnknown input type N)rV   r  r   r   r/  r  r  rO   r  r0  r}   r   r   r   hasattrr  r   ExtractedObjectsr   r  )rj   rh   r4  r  r   r  r   r  s   &&      rD   r  +XCodeBackend.generate_target_file_maps_implO  sc   HEYYa//QXXqww7A!!S))J 2 2222(,""1% 0 0000&*kkm  #  1i((YYa!7!788a//QXXqww7Aa%%QXXq1A
A$6$6666,0KKMD&&q)$4$4444*.++-D$$Q'&'<s1v'EFF  ]]a//QXXqww7Aa%%QXXq1A
A$6$6666,0KKMD&&q)$4$4444*.++-D$$Q' #9 (rF   c                   V ^8  d   QhRR/# ra   rB   )rC   s   "rD   rE   r   w  s     8 8$ 8rF   c                	    V P                   P                   FU  p\        V\        4      '       g   Q hV P	                  4       V P
                  V&   V P	                  4       V P                  V&   KW  	  R # re   )r   	def_filesr   r}   r   r   r   )rj   	buildfiles   & rD   r\  %XCodeBackend.generate_build_file_mapsw  sU    --Ii----,0KKMDy)*.++-DY' .rF   c                   V ^8  d   QhRR/# ra   rB   )rC   s   "rD   rE   r   }  s     1 14 1rF   c                	t    / V n         V P                   F   pV P                  4       V P                   V&   K"  	  R # re   )source_phaserG  r   r  s   & rD   rW  &XCodeBackend.generate_source_phase_map}  s0    ##A#';;=Da  $rF   c                    V ^8  d   QhRRRR/# r@   rq  r   rA   rb   rB   )rC   s   "rD   rE   r     s     F8 F8' F8d F8rF   c                	
   / V n         V P                  4       V n        . p. pV P                  4       P	                  4        F  w  rE\        V\        P                  4      '       d3   VP                  V P                  VP                  4       ,          4       KW  \        V\        P                  4      '       g   Ky  VP                  V P                  VP                  4       ,          4       K  	  . pVP                  V P                  R V P                  . V P                  .V,           V,           34       VP                  V P                   RV P"                  V P$                  .V P                  V P                  .34       VP                  V P&                  RV P(                  V P*                  .. 34       V P                  P-                  4       P	                  4        EF=  w  rEV P                  4       pWpP                   V&   . pV P                  .p	^ p
VP.                   F  p\        V\        P                  4      '       d3   V	P                  V P                  VP                  4       ,          4       KU  \        V\        P                  4      '       g   Kw  V	P                  V P                  VP                  4       ,          4       K  	  VP0                   F  p\        V\        P2                  4      '       dr   VP                  V P4                  WJ3,          4       VP6                   F3  pV	P                  V P                  VP                  4       ,          4       K5  	  V
^,          p
K  \        V\        P8                  4      '       g   K  V P                  VP:                  P                  4       ,          pW9  g   K  V	P                  V4       K  	  VP                  V P4                  V,          4       VP                  WtV P<                  V,          W34       EK@  	  \?        V\@        PB                  ! ^ 4      R7      pV EF  p\E        4       pV^,          pV^,          pV^,          pV^,          p	VPG                  RR4       VPG                  RVRV R24       \I        4       pVPG                  R	V4       V F  pVPG                  VR
4       K  	  \I        4       pVPG                  RV4       V	 F  pVPG                  VR4       K  	  VPG                  RV4       VPG                  RV4       VPG                  V^ ,          VV4       EK
  	  R# )	ALL_BUILD	RUN_TESTS
REGENERATEr   isaPBXAggregateTargetbuildConfigurationList1Build configuration list for PBXAggregateTarget "r   buildPhasesShellScriptdependenciesPBXTargetDependencyr  productNameN)%custom_aggregate_targetsr   build_all_tdep_idget_build_by_default_targetsrV   r   r   r  r   r  r.  r   r  r   r   r   r   r   r   r   r   r   rH  r  r  r  r  dependsr  r  r  sortedoperator
itemgetterr   r   rt   )rj   rq  target_dependenciescustom_target_dependenciesr4  r  aggregated_targetsct_idbuild_phasesr  r  dr   source_target_idsorted_aggregated_targetsagt_dictr  buildconf_idbp_arrbpdep_arrtds   &&                    rD   r`  *XCodeBackend.generate_pbx_aggregate_target  sR   (*%!% %'"99;AACHE!U//00*11$2I2I!((*2UVAu0011#**4+;+;AHHJ+GH	 D
  !!4;;#.#'#8#8#%$($<$<#=@S#SVp#p	#r 	s
 	!!4<<#.#'#9#9$($8$8#9$($<$<d>T>T#U	#W 	X
 	!!4==#/#'#:#:$($9$9#:#%	#' 	(
 

557==?HEKKME38))%0L 445LL^^a!3!344 ''(?(?
(KL5#4#455 ''(8(8(DE	 $
 YYa!4!455 ''(:(:E;P(QRYY$++D,C,CAHHJ,OP ' A%L5#9#9::'+'7'78I'J$';$++,<=   2 25 9:%%uT5J5J55QS_&no- @2 %++=8CVCVWXCY$Z!*AyHQ4DQ4LQ4LQ4Le%9:6Hyz~y  @A  GB  CZFmV4"M2 #jGng6"  %:; #fd+mT2!!!A$$7% +rF   c                    V ^8  d   QhRRRR/# r	  rB   )rC   s   "rD   rE   r     s     M" M"G M" M"rF   c           	     	
   V P                   P                  4        EF/  w  r#VP                  4        F  pVP                  R 8X  g   K  VP	                  4       '       g   K.  VP
                   F{  p\        4       pV P                  V,          pWqP                  9  d   VP                  WvV R24       VP                  RR4       VP                  RV P                  V,          V4       K}  	  K  	  VP                   EFg  pRp	\        V\        P                  4      '       dI   VP                  '       d   Rp	\         P"                  P%                  VP&                  VP(                  4      p\        V\*        4      '       g   K  \        4       p
W(3pV P,                  V,          pV P.                  V,          pV	'       d:   \         P"                  P%                  V P0                  P3                  4       V4      pM8\         P"                  P%                  V P0                  P5                  4       V4      pV
P                  RR4       V
P                  RW4       VP                  W4       EKj  	  VP6                   EF  p\        V\8        P:                  4      '       d   K&  \        V\        P                  4      '       d6   \         P"                  P%                  VP&                  VP(                  4      pM@\        V\*        4      '       d+   \         P"                  P%                  VP&                  V4      pV P,                  W/3,          pW/3pV P.                  V,          pWP<                  9  g   Q hWP<                  V&   \         P"                  P%                  V P0                  P5                  4       V4      pTp\        4       pVP                  VVV4       VP                  RR4       VP                  RVV4       EK  	  ^ pVP>                   F@  p\        V\8        P@                  4      '       g   K%  V PC                  WV4       V^,          pKB  	  EK2  	  V PD                  P                  4        F  w  r#\        V\8        PF                  4      '       g   K'  V PI                  V4      w  pppV Fj  p\        4       pVP                  V PJ                  V,          VRV R24       VP                  RR4       VP                  RV PL                  V,          4       Kl  	  ^ pVP                   F@  p\        V\8        P@                  4      '       g   K%  V PC                  WV4       V^,          pKB  	  EK  	  R	# )
r  .framework in Frameworksr  PBXBuildFilefileRefFTr   r   N)'rG  rV   r  r  r  r  r   r  r   r   r  r  r   r   r/  is_builtr  r  rO   r  r0  r}   r   r   r   r#  get_source_dirr  r   r  r  r  r  create_generator_shellphaserI  r  r  r  r  )rj   rq  r4  r  r  r  fw_dictfwkeyr   in_build_dirsdictr  idvalfilereffullpathr   	fullpath2o_dictr  r-   r  r  r  custom_dicts   &&                      rD   ra  $XCodeBackend.generate_pbx_build_file  s   **002HE**,8800SYY[[ ^^")) $ 6 6q 9 (9(99(11%QCG_B`a((?((D4R4RST4UWXY , - YY$a//zzz'+QXXqww7A!!S))	J**1-**1-!ww||D,<,<,J,J,LaPH!ww||D,<,<,K,K,MqQHun5y'<%%e3' * YYa!7!788 a//QXXqww7A3''QXXq1A**E:6J**1-,,,"'Q77<<(8(8(G(G(I1M$	 %%eVX>~6	7I>) , L[[!!U%8%89900lS!	 !o 3| ++113HEa!3!344&*&E&Ea&H#T:s%i%%d&I&I!&Lk]`ab`ccf[gh$$UN;$$Y0Q0QRS0TU	  
 LYY!!U%8%89900lS!	  4rF   c               (    V ^8  d   QhRRRRRRRR/# )	r@   rq  r   r4  r}   r  rN   rA   rb   rB   )rC   s   "rD   rE   r     s*     . . . .[^ .cg .rF   c                	2   V P                   W#3,          pV P                  W#3,          p\        V4      \        V4      8X  g   Q h\        WE4       FD  w  rg\	        4       pVP                  Wh4       VP                  R R4       VP                  RV4       KF  	  R# )r  r1  r2  N)r  r  r  zipr   r   )	rj   rq  r4  r  file_idsref_idsfile_oref_idodicts	   &&&&     rD   r5  (XCodeBackend.create_generator_shellphase  s    //0EF,,e-BC7|s8},,,!(4NFIE!!&0NN5.1NN9f-	 5rF   c                    V ^8  d   QhRRRR/# r	  rB   )rC   s   "rD   rE   r   $  s     - -W - -rF   c                	(   V P                   P                  4        Fs  w  r#\        4       pVP                  W4V4       VP                  R R4       \        4       pVP                  RV4       VP                  RR4       VP                  RV4       Ku  	  R# )r  PBXBuildStylebuildSettingsCOPY_PHASE_STRIPr2   r  N)r  rV   r   r   )rj   rq  r  r:  	styledictsettings_dicts   &&    rD   rc  %XCodeBackend.generate_pbx_build_style$  s|    --335KD	I!!%D9uo6#IM>""#5t<vt, 6rF   c                    V ^8  d   QhRRRR/# )r@   argsr	   rA   r}   rB   )rC   s   "rD   rE   r   .  s     + +L +S +rF   c           	     	    . pV F4  pVP                  VP                  R \        ^\4      R ,           4      4       K6  	  RP                  V4      pRV R2# )r   r   z"#!/bin/sh\nz\n")r   r   chrrO   )rj   rS  
quoted_cmdr   r  s   &&   rD   to_shell_scriptXCodeBackend.to_shell_script.  sO    
AaiiSWs];< hhz"uE**rF   c                    V ^8  d   QhRRRR/# r	  rB   )rC   s   "rD   rE   r   5  s     &H &HG &H &HrF   c                	   V P                   P                  4        EF  w  r#V P                  V,          pVP                  4        EF  w  rVVP                  V,          p\	        4       pVP                  R R4       VP                  RR4       VP                  4       R8w  d   VP                  RR4       VP                  R\        V,          4       \        4       p	VP                  RV	4       VP                  R	R
4       \        4       p
V
P                  R4       VP                  RV
4       \        V4      pWP                  4       ,          pVP                  4       R8X  d   WP                  WGRRRR7      ,          pMWP                  VVRRRR.R7      ,          pVP                  RV P                  V4      4       VP                  WhR4       EK  	  EK  	  R# )r  PBXBuildRulecompilerSpecz com.apple.compilers.proxy.scriptyasmdependencyFilez($(DERIVED_FILE_DIR)/$(INPUT_FILE_BASE).dfileType
inputFiles
isEditabler,   z($(DERIVED_FILE_DIR)/$(INPUT_FILE_BASE).ooutputFilesz"$SCRIPT_OUTPUT_FILE_0"z"$SCRIPT_INPUT_FILE"N)outputinputdepfilezM"$(dirname "$SCRIPT_OUTPUT_FILE_0")/$(basename "$SCRIPT_OUTPUT_FILE_0" .o).d"z$OTHER_INPUT_FILE_FLAGS)rc  rd  re  extrasscript)r  rV   rG  r   r   r   r.  r  rt   r	   get_exelistcompiler_to_generator_argsrW  )rj   rq  r  r  r  r  r:  compiler	buildrule
inputfilesoutputfilescommandss   &&          rD   rb  $XCodeBackend.generate_pbx_build_rule5  s   #//557OD"&"4"4T":F#,??#4%+%5%5h%?#I	""5.9"">3UV??$.&&'79cd"":/A(/KL%Z
""<<""<5&j$$%OP""=+> (10022??$. ? ?Yr  {Q  [_ ?  !`  `H ? ?@HG`F\ IXHaGb !@ !d dH ""8T-A-A(-KL%%eGG $5  8rF   c                    V ^8  d   QhRRRR/# r	  rB   )rC   s   "rD   rE   r   ]  s     1 1g 1$ 1rF   c                	t   V P                    F  p\        4       pVP                  V P                  V,          VR 4       VP                  RR 4       VP                  RV P                  R4       VP                  RR4       VP                  RV P
                  V,          4       VP                  RV4       K  	  R# )	PBXContainerItemProxyr  containerPortalProject object	proxyTyper.   remoteGlobalIDString
remoteInfoN)rG  r   r   r  r   r  )rj   rq  r  
proxy_dicts   &&  rD   rd  .XCodeBackend.generate_pbx_container_item_proxy]  s    ##A J!!$"9"9!"<jJab'>? 143C3CEUVS1 68K8KA8NOa0 $rF   c                    V ^8  d   QhRRRR/# r	  rB   )rC   s   "rD   rE   r   g  s"     gO gO gOD gOrF   c           	     	   V P                   P                  4        EF  w  r#VP                  4        F  pVP                  R 8X  g   K  VP	                  4       '       g   K.  VP
                   F  p\        4       pV P                  V,          pVP                  V4      '       d   K9  VP                  WvV4       VP                  RR4       VP                  RR4       VP                  RV R24       VP                  RRV R24       VP                  R	R
4       K  	  K  	  VP                   EF  pRp	\        V\        P                  4      '       dI   VP                  '       d   Rp	\        P                   P#                  VP$                  VP&                  4      p\        V\(        4      '       g   K  V P*                  W(3,          p
\        P                   P#                  V P,                  P/                  4       V4      p\        4       pV P1                  V4      p\        P                   P3                  V4      pTpVP                  WV4       VP                  RR4       VP                  RV4       VP                  RR4       V	'       d:   VP                  RV4       VP                  RV4       VP                  R	R4       EK  VP                  RV4       VP                  RV4       VP                  R	R4       EK  	  ^ pVP4                   EFr  p\        V\6        P8                  4      '       g   K&  V P:                  VV3,          pV P<                  VV3,          p\?        V4      \?        V4      8X  g   Q h\A        VV4       F  w  pp\        4       p\        P                   P3                  V4      pVP                  VVV4       V P1                  V4      p\        PB                  ! VV P,                  P/                  4       4      pVP                  RR4       VP                  RV4       VP                  RR4       VP                  RV4       VP                  RV4       VP                  R	R4       K  	  V^,          pEKu  	  VPD                   EF  p\        V\6        PF                  4      '       d   K&  \        V\        P                  4      '       dx   VPI                  V P,                  P/                  4       V P,                  PK                  4       4      p\        P                   P#                  VP$                  VP&                  4      pMb\        P                   P#                  VP$                  V4      p\        P                   P#                  V P,                  P/                  4       V4      pV P*                  VV3,          p
\        PB                  ! WP,                  P/                  4       4      p\        4       p\        P                   P3                  V4      pVP                  V
VV4       VP                  RR4       VP                  RV P1                  V4      4       VP                  RR4       VP                  RV4       VP                  RV4       VP                  R	R4       EK  	  VPL                   EFy  p\        V\        P                  4      '       d6   \        P                   P#                  VP$                  VP&                  4      pM*\        P                   P#                  VP$                  V4      pV P*                  VV3,          p
\        P                   P#                  V P,                  P/                  4       V4      p\        4       pV P1                  V4      p\        P                   P3                  V4      pTpVP                  V
VV4       VP                  RR4       VP                  RV4       VP                  RV4       VP                  RV4       VP                  R	R4       EK|  	  EK  	  V PN                  P                  4        EF#  w  r*\        4       pVP                  V
VV4       V P                   V,          pVPQ                  4       p^ p\        V\6        PR                  4      '       d   RpTpM\\        V\6        PT                  4      '       d   V P1                  R4      pTpM(V P1                  V4      pRVPQ                  4       ,          pVP                  RR4       VP                  RV4       VP                  RV4       VP                  RV4       VP                  R	R4       EK&  	  V PV                  P                  4        EFp  w  r#\        V\6        PX                  4      '       g   K(  V P[                  V4      w  pp p!VP                   EFG  p\        V\        P                  4      '       d6   \        P                   P#                  VP$                  VP&                  4      pMC\        V\(        4      '       d,   \        P                   P#                  VP$                  V4      pMK  \        4       p"V P1                  V4      pV"P                  RR4       V"P                  RV4       V"P                  RV4       V"P                  RV4       V"P                  R^ 4       V"P                  R	R4       VP                  V P*                  W(3,          V"4       EKJ  	  V  F  p\        4       p"V P1                  V4      pV"P                  RR4       V"P                  RV4       V"P                  RV4       V"P                  R\        P                   P#                  V P\                  V4      4       V"P                  R^ 4       V"P                  R	R4       VP                  V P^                  V,          V"4       K  	  EKs  	  V P6                  P`                   F  p#\        P                   Pc                  V#4      ^,          p$\        4       p%V P1                  V#4      pV%P                  RR4       V%P                  RV4       V%P                  RV$4       V%P                  RV#4       V%P                  R^ 4       V%P                  R	R4       VP                  V P*                  V#,          V%4       K  	  R# )r  r  PBXFileReferencelastKnownFileTypezwrapper.frameworkr  z
.frameworkr  zSystem/Library/Frameworks/
sourceTreeSDKROOTFTexplicitFileTypefileEncoding4
BUILD_ROOTSOURCE_ROOTzcompiled.mach-o.executablezdummy.dylibz"%s"refTypeBUILT_PRODUCTS_DIRN)2rG  rV   r  r  r  r  r   r  r   r   r  r   r   r/  r3  r  r  rO   r  r0  r}   r   r   r4  r|  r2  r  r   r  r   r  r  rC  relpathr  r  absolute_pathr#  r  r  get_filename
ExecutableSharedLibraryrI  r  r  src_to_buildr  r  rS   )&rj   rq  r4  r  r  r  r6  framework_filerefr   r8  r:  r<  src_dictr{  r  r  r  r-   outputsrE  r   rG  rH  rel_namer>  r  e_dicttarget_dictr0  reftypetypestrr  r  r  r?  r  r2  buildfile_dicts&   &&                                    rD   re  (XCodeBackend.generate_pbx_file_referenceg  s
   **002HE**,8800SYY[[ ^^")),0,J,J1,M)'001BCC$$--.?!L((0BC(()<>QR((A3j1AB((3MaSPZ1[\((yA , - YY$a//zzz'+QXXqww7A!!S))((%477<<(8(8(G(G(I1M"9 ..q1	ww''*%%ex@!!%);<!!"4i@!!.#6%%fd3 %%fd3%%lLA%%fd3%%fd3%%lMB7 : L[[!!U%8%89900%1FG44UL5HI7|s7|333!$Wg!6IAv#IE77++A.D ))&%; $ 2 21 5I'//43C3C3R3R3TUHNN5*<=NN#5yANN>37NN640NN684NN<? "7 !' !* YYa!7!788a// t/?/?/N/N/PRVRbRbRpRpRrsHQXXqww7AQXXq1A!ww||D,<,<,K,K,MqQH((%4#++H6F6F6U6U6WX ww''*%%eVX>'9: 2D4F4Fq4IJ4-1m<) , ]]a//QXXqww7AQXXq1A((%477<<(8(8(G(G(I1M  ..q1	ww''*%%eVX>'9: 2I>--m<! #o 3P !//557LE!)K!!%e<""5)ANN$EG!U--..6Au2233,,];,,U3 00  (:;  !3W=  .  G4  /CD' 8* ++113HEa!3!344&*&E&Ea&H#T:sYYa//QXXqww7A3''QXXq1A%i,,Q/$$U,>?$$%7A$$VQ/$$VQ/$$Y2$$\=A%%d&6&6z&BKP    %i,,Q/$$U,>?$$%7A$$VQ/$$VRWW\\$:K:KQ-OP$$Y2$$\=A%%d&G&G&JKX  ) 4> --Iww}}Y/2H$YN((3G##E+=>##$6@##FH5##FI6##Iq1##L-@!!$"2"29"=~N .rF   c                    V ^8  d   QhRRRR/# r	  rB   )rC   s   "rD   rE   r     s     F Fw F4 FrF   c                	@   V P                   P                  4        F  p\        4       pVP                  VP                  R ,          VR 4       VP                  RR4       VP                  RR4       \        4       pVP                  RV4       VP                  4        Fg  pVP                  R8X  g   K  VP                  4       '       g   K.  VP                   F)  pVP                  V P                  V,          V R24       K+  	  Ki  	  VP                  R^ 4       EK  	  R	# )
r  r  PBXFrameworksBuildPhasebuildActionMaskfilesr  r0  "runOnlyForDeploymentPostprocessingN)rG  r  r   r   r  rt   r  r  r  r  r  )rj   rq  r  bt_dict	file_listr  r  s   &&     rD   rf  /XCodeBackend.generate_pbx_frameworks_buildphase  s    ##**,AiG!!!//,"?,WU$=>.
; 
IWi0**,8800SYY[[ ^^!**4+A+A!+DKcFde , - A1E -rF   c                    V ^8  d   QhRRRR/# r	  rB   )rC   s   "rD   rE   r     s     i7 i7w i74 i7rF   c           
     	   / p/ pV P                    F'  pV P                  4       W$&   V P                  4       W4&   K)  	  V P                   F'  pV P                  4       W$&   V P                  4       W4&   K)  	  V P                  4       pV P                  4       pV P                  4       pV P                  4       p\        4       p	VP	                  V P
                  V	4       V	P	                  R R4       \        4       p
V	P	                  RV
4       V
P	                  VR4       V
P	                  VR4       V
P	                  VR4       V
P	                  VR4       V	P	                  RR4       V P                  P                  4        EF~  w  w  rp\        4       pVP	                  WV4       VP	                  R R4       \        4       pVP	                  RV4       VP	                  R	R
P                  VP                  R^4      R,          4      4       VP	                  RRV R24       VP	                  RR4       V P                   F  w  ppVP                  V4      '       g   K  VP                  R^4      ^ ,          VP                  R^4      ^ ,          8X  g   KV  VV8w  g   K_  VP                  R4      VP                  R4      ^,           8X  g   K  VV8X  g   K  VP	                  V P                  VV3,          V4       K  	  EK  	  V P                  W4       \        4       pVP	                  VVR4       VP	                  R R4       \        4       pVP	                  RV4       VP	                  R	R4       VP	                  RR4       \        4       pVP	                  VVR4       VP	                  R R4       \        4       pVP	                  RV4       V P                   P                  4        F{  pVP!                  4        Fd  pVP"                  R8X  g   K  VP%                  4       '       g   K.  VP&                   F&  pVP	                  V P(                  V,          V4       K(  	  Kf  	  K}  	  VP	                  R	R4       VP	                  RR4       V P                  P                  4        EF$  w  pp\        4       pVP	                  VV,          VV4       VP	                  R R4       \        4       pVP	                  RV4       VP	                  VV,          R4       VP*                  '       d-   VP	                  R	VP*                   RVP"                   24       MVP	                  R	VP"                  4       VP	                  RR4       \        4       pVP	                  VV,          VR4       VP	                  R R4       \        4       pVP	                  RV4       VP,                   F  p\/        V\0        P2                  4      '       d6   \4        P6                  P9                  VP:                  VP<                  4      pMC\/        V\>        4      '       d,   \4        P6                  P9                  VP:                  V4      pMK  VP	                  V P@                  VV3,          V4       K  	  VP	                  R	R4       VP	                  RR4       EK'  	  \        4       pVP	                  VVR4       VP	                  R R4       \        4       pVP	                  RV4       V P                    F&  pVP	                  V PB                  V,          V4       K(  	  VP	                  R	R4       VP	                  RR4       R# )r  PBXGroupchildrenzProject treer  Productsr  r~  <group>r  z"{}"r+  r  r   r  r  Source filesu    • Nrv  )"rG  r   rI  r   r   r   rt   r  rV   rC   rsplit
startswithrS   rT   add_projecttreer  r  r  r  r  r  
subprojectr  r   r   r/  r  r  rO   r  r0  r}   r   r  ) rj   rq  groupmaptarget_src_mapr  projecttree_idresources_idproducts_idframeworks_id	main_dictmain_childrenr  r  idfolder_dictfolder_childrenpath_dep
target_depresource_dictresource_childrenframeworks_dictframeworks_childrenr  r  r4  r  target_childrensource_files_dictsource_file_childrenr   product_dictproduct_childrens    &&                              rD   rg  XCodeBackend.generate_pbx_group  sE   ##A++-HK $N $ $$A++-HK $N % {{}kkmI	d//;5*- 
:}5~~>|[9{J7}l;<3 #'.."6"6"8NTB!)K!!"48  
3&jO  _=  t{{37J27N)OP  1TF!5  }= )-$*&&t,,Q1G1JdjjY\^_N`abNc1chptxhx  ~F  ~L  ~L  MP  ~Q  UY  U_  U_  `c  Ud  gh  Uh  ~h  ms  wA  mA#,,T^^Xv<N-OQYZ )7 #9  	\:	lM;Guj1$Jz+<=v{3|Y7!)m_lK  
3&j  -@A ##**,A**,8800SYY[[ ^^+44T5S5STU5VXYZ , - - 	  6  y9++113HE1!)K!!(5/;F  
3&jO  _=$$^E%:NK|||$$V~U166(-KL$$VQVV4  y9 '	!!."79JN[&&uj9#+: &&z3GHYYa//QXXqww7A3''QXXq1A$--d.>.>qz.JAN  &&v~>&&|Y?5 4: yk<DeZ0#:j*:;##A%%d&9&9!&<a@ $fj1lI6rF   c                    V ^8  d   QhRRRR/# )r@   rq  r   rA   r}   rB   )rC   s   "rD   rE   r     s     3 3W 3C 3rF   c                	P	   VP                  4       pV P                  4       p\        4       p\        4       pVP	                  WEV4       VP	                  R R4       \        4       pVP	                  RV4       VP	                  RV R24       VP	                  RR4       \        4       pVP                   EF$  p	\        V	\        P                  4      '       Ed   RV	P                  9   EdQ   RP                  V	P                  P                  R4      RR
 4      p
VP                  V P                  W3,          4      P                  P                  R4      P                  p\         P"                  P                  V	P$                  V	P                  4      pVP	                  V P&                  W<3,          V4       V P                  W3,          V9   d   EK  \)        V
P                  R4      4      ^8X  dH   VP	                  V P                  W3,          V
4       VP+                  V P                  W3,          4       EK  \         P"                  P                  V	P$                  V	P                  4      p	MD\        V	\,        4      '       d,   \         P"                  P                  VP$                  V	4      p	MEK   VP	                  V P&                  W93,          V	4       EK'  	  VP.                   F  p\        V\0        P2                  4      '       d   K%  \        V\        P                  4      '       d6   \         P"                  P                  VP$                  VP                  4      pM*\         P"                  P                  VP$                  V4      pVP	                  V P&                  W=3,          V4       K  	  VP4                   F  p\        V\        P                  4      '       d6   \         P"                  P                  VP$                  VP                  4      pMC\        V\,        4      '       d,   \         P"                  P                  VP$                  V4      pMK  VP	                  V P&                  W>3,          V4       K  	  VP	                  RR	4       VP	                  RR4       V# )r  r  r  r  u
    · targetr~  r  r+  Nr  rv  )r.  r   r   r   r   rt   r  r   r   r/  r0  rO   rS   r   r  r   r  r  r  r   r  r   r}   r  r   r  r  )rj   rq  r  tidgroup_idr  
folder_idsr  r  r   r  r  tempr   r  s   &&&            rD   write_group_target_entry%XCodeBackend.write_group_target_entry  s7   hhj;;=iU
hS9UJ/"*Z9Vs*%56\95#IA!X]]++!''> XXaggmmC&8"&=>F"."7"7{8S"T"Z"Z"c"cdn"o"u"uK77<<!'':D(()9)93+)FM~~vk2j@ 6<<,-2'001LfU"t~~vk'BCGGLL1773As##GGLL1-$$T%5%5sh%?C' ( A!U3344!X]]++GGLL1773GGLL1-$$T%5%5sh%?C  A!X]]++GGLL1773As##GGLL1-$$T%5%5sh%?C  	""6>:""<;rF   c               $    V ^8  d   QhRRRRRR/# )r@   rq  r   r  r}   rA   rb   rB   )rC   s   "rD   rE   r     s&     
I 
IG 
IS 
IT 
IrF   c                	(   \        4       pVP                  W#R 4       VP                  RR4       \        4       pVP                  RV4       VP                  RR4       VP                  RR4       V P                  4       pV P	                  WVR4       R	# )
zRoot of project treer  r  r  r  zProject rootr~  r  rI   N)r   r   rt   generate_project_tree
write_tree)rj   rq  r  	root_dictr  project_trees   &&&   rD   r  XCodeBackend.add_projecttree  s    I	n9OP5*-"*:76>2<3113ORHrF   c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# )r@   rq  r   	tree_noder_   children_arrayrt   current_subdirr}   rA   rb   rB   )rC   s   "rD   rE   r     s6     + +w += +Zb +tw +  }A +rF   c           
     	p   VP                   P                  4        F  w  rV\        4       p\        4       pV P	                  4       p	VP                  W4       VP                  V	4       VP                  R R4       VP                  RV4       VP                  RV4       VP                  RR4       V P                  WV\        P                  P                  WE4      4       K  	  VP                   F%  p
V P                  W4      pVP                  V4       K'  	  \        P                  P                  VR4      \        P                  P                  VR4      \        P                  P                  VR4      .pV F:  pV P                  P                  VR	4      pV'       g   K)  VP                  V4       K<  	  R	# )
r  r  r  r  r~  r  zmeson.buildzmeson.optionszmeson_options.txtN)rg   rV   r   rt   r   r   r  r  r  rO   rh   r  r   rx  )rj   rq  r  r  r  subdir_namesubdir_nodesubdir_dictsubdir_children	subdir_idr  r  
potentialsbfr   s   &&&&&          rD   r  XCodeBackend.write_tree  sZ   (1(9(9(?(?(A$K!)K&jOI!!)9##I.  
3  _=  5  y9OOLUcHqr )B  ''F44\JH##H- ( ggll>=Aggll>?Cggll>3FGI
 B  $$R.Aq''* rF   c                   V ^8  d   QhRR/# )r@   rA   r_   rB   )rC   s   "rD   rE   r     s      } rF   c                	    \        4       pV P                  P                  4        F  w  r#V P                  W4       K  	  V# re   )r_   rG  rV   add_target_to_tree)rj   	tree_infor4  r  s   &   rD   r  "XCodeBackend.generate_project_tree  s8    !O	**002HE##I1 3rF   c               $    V ^8  d   QhRRRRRR/# )r@   	tree_rootr_   r  r'  rA   rb   rB   )rC   s   "rD   rE   r     s#     	' 	'M 	'>O 	'TX 	'rF   c                	   TpVP                   P                  R 4      pV FG  pV'       g   K  WSP                  9  d   \        4       VP                  V&   VP                  V,          pKI  	  VP                  P                  V4       R# )r+  N)r  rS   rg   r_   rh   r   )rj   r  r  current_nodepath_segmentsr   s   &&&   rD   r  XCodeBackend.add_target_to_tree  sm     s+A,,,*7/$$Q''//2L  	##A&rF   c                    V ^8  d   QhRRRR/# r	  rB   )rC   s   "rD   rE   r     s     ?A ?Aw ?A4 ?ArF   c           	     	t
   V P                   P                  4        EF  w  r#\        4       pV P                  V,          pVP	                  W4V4       VP	                  R R4       VP	                  RV P
                  V,          RV R24       \        4       pVP	                  RV4       ^ pVP                   FX  p\        V\        P                  4      '       g   K%  VP	                  V P                  W'3,          RV RV 24       V^,          pKZ  	  VP                  P                  4        F  w  rVP	                  W R24       K  	  \        4       pV P                  V,          P                  4        F  w  rVP	                  W 4       K  	  VP	                  R	V4       \        4       pVP	                  R
V4       VP	                  V P                  4       V P                  V,          P                   EF  p\        V\        P                   4      '       d>   VP	                  V P"                  VP%                  4       ,          VP&                  4       Ka  \        V\        P(                  4      '       dR   VP	                  V P"                  VP*                  P%                  4       ,          VP*                  P&                  4       K  V P,                  VP%                  4       ,          pVP	                  VR4       EK  	  VP.                   Fd  p\        V\        P0                  4      '       g   K%  VP*                  P%                  4       pV P,                  V,          pVP	                  VR4       Kf  	  ^ pVP                   F  p\        V\        P                   4      '       d=   VP	                  V P"                  VP%                  4       ,          VP&                  4       Mo\        V\        P(                  4      '       dP   VP	                  V P"                  VP*                  P%                  4       ,          VP*                  P&                  4       V^,          pK  	  VP	                  RV4       VP	                  RV4       VP	                  RV P2                  V,          V4       \        V\        P4                  4      '       d   RpMX\        V\        P6                  4      '       d   RpM5\        V\        P8                  4      '       d   RpM\;        RV,          4      hVP	                  RRV R24       EK  	  R# )r  PBXNativeTargetr  .Build configuration list for PBXNativeTarget "r   r  
Generator r+  z yyy
buildRulesr  r  r  r  productReferencezcom.apple.product-type.toolz%com.apple.product-type.library.staticz&com.apple.product-type.library.dynamiczUnknown target type for %sproductTypeN)r  rV   r   rG  r   r  rt   r  r   r   r  r  r  r  r   r<  r  r  r.  r  r  r  r  r  r  r  r  StaticLibraryr  r   )rj   rq  r4  r:  ntarget_dictr  buildphases_arrayr  r-   bpnamebpvalr  r  build_rule_idval	dep_arrayltr   r%  r  s   &&                 rD   rh  'XCodeBackend.generate_pbx_native_target  s$    //557LE"9L""5)A!!%u=!!%):;!!":D<Q<QRW<X  ]K  LQ  KR  RS  [T  U (
!!-1BCL[[ a!4!455%..t/A/A5BW/X\fgsfttuv{u|Z}~ A%L ! "#!6!6!8!**5HD/B "9"*K.2.>.>u.E.K.K.M*$$%5E /N!!,< 
I!!.)<t778 ((/<< b%"4"455&&t'>'>ryy{'KRWWUE$;$;<<&&t'>'>ryy?O?O?Q'RTVT]T]TbTbc ,,RYY[9E&&u.CD = YYa!7!788'(xx'8$ ,,-=>E&&u.CD	 
 L[[a!3!344&&t'>'>qxxz'JAFFS5#:#:;;&&t'>'>qxx?P'QSTS[S[S`S`a! ! !!&%0!!-7!!"4d6I6I%6PRWX!U--..7Au2233AAu2233B$%AE%IJJ!!-1WIQ@} 8rF   c                    V ^8  d   QhRRRR/# r	  rB   )rC   s   "rD   rE   r   3  s     F F FT FrF   c                	   \        4       pVP                  V P                  VR 4       VP                  RR4       \        4       pVP                  RV4       VP                  RR4       VP                  RV P                  RV P                  P
                   R24       VP                  R	\        4       4       V P                  ^28  dQ   \        4       pVP                  R
V4       V P                  P                  4        F  w  rVVP                  We4       K  	  VP                  RV P                  4       VP                  R^ 4       VP                  RV P                  4       VP                  RV P                  P                  4       4       VP                  RR4       \        4       pVP                  RV4       VP                  V P                  R4       VP                  V P                  R4       VP                  V P                   R4       V P"                   F&  pVP                  V P$                  V,          V4       K(  	  V P&                   F&  pVP                  V P(                  V,          V4       K(  	  R# )rt  r  
PBXProject
attributes!BuildIndependentTargetsInParallelr1   r  )Build configuration list for PBXProject "r   rM  buildStylescompatibilityVersionhasScannedForEncodings	mainGroupprojectDirPathprojectRootrI   rh   r  r  r  N)r   r   r   r   r   r-  r   rt   r  rV   r   r   r   r4  r   r   r   rG  r  rI  r  )	rj   rq  project_dict	attr_dict	style_arrr  r:  targets_arrr  s	   &&       rD   ri  !XCodeBackend.generate_pbx_project3  s    yd..>NOe\2I	lI6>F68M8MQz{  |F  |F  |S  |S  {T  TU  PV  	Wowy9??R 
I!!-;#11779""5/  :4d6G6GH6:k4+<+<=.0@0@0O0O0QRmR0ji5T[[+6T\\;7T]]L9##A  !4!4Q!7; $$$A  !>!>q!A1E %rF   c                    V ^8  d   QhRRRR/# r	  rB   )rC   s   "rD   rE   r   P  s     H H7 Ht HrF   c                	    V P                  V4       V P                  V4       V P                  V4       V P                  V4       R # re   )generate_test_shell_build_phase generate_regen_shell_build_phase)generate_custom_target_shell_build_phases,generate_generator_target_shell_build_phases)rj   rq  s   &&rD   rj  +XCodeBackend.generate_pbx_shell_build_phaseP  s:    ,,\:--l;66|D99,GrF   c                    V ^8  d   QhRRRR/# r	  rB   )rC   s   "rD   rE   r   V  s     3 3G 3 3rF   c                	   \        4       pVP                  V P                  VR 4       VP                  RR4       VP                  RR4       VP                  R\        4       4       VP                  R\        4       4       VP                  R\        4       4       VP                  R^ 4       VP                  R	R
4       \        P
                  ! 4       RRRV P                  P                  4       .,           pRP                  V Uu. uF  pRV,          NK  	  up4      pVP                  RV4       VP                  R^ 4       R# u upi )r  r  PBXShellScriptBuildPhaser  r  r  
inputPathsoutputPathsr  	shellPath/bin/shtestz--no-rebuildz-Cr   '%s'shellScriptshowEnvVarsInLogN)	r   r   r   rt   r   get_meson_commandr   r#  rO   rj   rq  
shell_dictr  r   cmdstrs   &&    rD   r  ,XCodeBackend.generate_test_shell_build_phaseV  s   Y
d22JNE#=>-z:GXZ0L(*5M8:6@!DK3((*fndDL\L\LjLjLl-mms3s!6A::s34M62.2 4s   Ec                    V ^8  d   QhRRRR/# r	  rB   )rC   s   "rD   rE   r   e  s     3 3W 3 3rF   c                	   \        4       pVP                  V P                  VR 4       VP                  RR4       VP                  RR4       VP                  R\        4       4       VP                  R\        4       4       VP                  R\        4       4       VP                  R^ 4       VP                  R	R
4       \        P
                  ! 4       RR\        P                  P                  V P                  P                  4       R4      .,           pRP                  V Uu. uF  pRV,          NK  	  up4      pVP                  RV4       VP                  R^ 4       R# u upi )r  r  r  r  r  r  r  r  r  r  r  z
--internal
regencheckzmeson-privater   r  r  r  N)r   r   r   rt   r   r  r  r  rO   r   r#  r  s   &&    rD   r  -XCodeBackend.generate_regen_shell_build_phasee  s+   Y
d33ZOE#=>-z:GXZ0L(*5M8:6@!DK3((*lL"'',,W[WgWgWuWuWw  zI  KJ  .K  Ks3s!6A::s34M62.2 4s   "E!c                    V ^8  d   QhRRRR/# r	  rB   )rC   s   "rD   rE   r   t  s     8 8g 8RV 8rF   c           
     	d   V P                   P                  4        EF  w  r#\        V\        P                  4      '       g   K(  V P                  VR R7      w  rEpT P                  V^ ,          VR,          VP                  '       d
   V^ ,          MRVP                  '       d
   V^ ,          MRVP                  R7      w  rx\        4       p	VP                  V P                  V,          V	RV R24       V	P                  RR4       V	P                  R	R
4       V	P                  R\        4       4       V	P                  R\        4       4       \        4       p
V	P                  RRP                  V^ ,          4      4       V	P                  RV
4       V FJ  pV
P                  \        P                   P#                  V P$                  P'                  4       V4      4       KL  	  V	P                  R^ 4       V	P                  RR4       V P$                  P'                  4       p. pV F4  pVP)                  VP+                  R\-        ^\4      R,           4      4       K6  	  RP#                  V Uu. uF	  pRV R2NK  	  up4      pV	P                  RRV RV 24       V	P                  R^ 4       EK  	  R# u upi )T)absolute_outputs:   NNN)rB  feedenvz/* Custom target r   r  r  r  r  r  r  r  z"Generate {}."r  r  r  r  r   r   z\'r  zcd 'z'; r  )rI  rV   r   r   r  r  as_meson_exe_cmdlinerB  r+  r,  r   r   r  rt   rC   r  r  rO   r   r#  r   r   rU  )rj   rq  r4  r  r  r  r  	fixed_cmd_r?  outarrayr   workdirrV  r   xr!  s   &&               rD   r  6XCodeBackend.generate_custom_target_shell_build_phasest  sC   ++113HEa!3!344&*&E&EaZ^&E&_#Ts44SV58WNOiiiZ]]aEFVVV$q'QU9:	 5 @LI
 ")K!!$"4"4U";[L]^c]ddgJhi  (BC  !2J?  (*5  xz:zH  )9)@)@A)OP  9!!"'',,t/?/?/M/M/OQR"ST    !EqI  i8&&446GJ!!!))CR3"?@ XXZ@ZQCs|Z@AF  %yVH0MN  !3Q79 44 As   &J-
c                    V ^8  d   QhRRRR/# r	  rB   )rC   s   "rD   rE   r     s     & & &UY &rF   c           	     	   V P                   P                  4        FX  w  r#^ pVP                   FA  p\        V\        P
                  4      '       g   K%  V P                  W#WTV4       V^,          pKC  	  KZ  	  V P                  P                  4        FX  w  r#^ pVP                   FA  p\        V\        P
                  4      '       g   K%  V P                  W#WTV4       V^,          pKC  	  KZ  	  R# r  )	rG  rV   r  r   r   r  generate_single_generator_phaserI  r  )rj   rq  r4  r  r  r  s   &&    rD   r  9XCodeBackend.generate_generator_target_shell_build_phases  s    **002HEL;;gu':':;;887Zfg A%L ' 3 ++113HEL99gu':':;;887Zfg A%L % 4rF   c               0    V ^8  d   QhRRRRRRRRR	R
RR/# )r@   r4  r}   r  r  r  r  r  rN   rq  r   rA   rb   rB   )rC   s   "rD   rE   r     s;     =1 =1S =1=P =11D=1TW=1gn=1sw=1rF   c           
     	   VP                  4       pVP                  4       pV P                  V4      pV P                  P	                  4       p	V P                  V P                  V4      V P                  V4      4      p
\        4       pVP                  V P                  W3,          VR V RV 24       VP                  4       pVP                  4       pVP                  RR4       VP                  RR4       VP                  R\        4       4       VP                  R\        4       4       VP                  RR V RV 24       R	V	..pW3pV P                  V,          p\        4       pVP                  R
V4       V F  pVP                  V4       K  	  V EF  pVP                  V P                   V
4      pVP#                  V4      pVP%                  V4       EFR  p\&        P(                  P+                  V P                  V4      V4      p. pV F  pVP-                  RV4      pVP-                  RV4      P-                  RV P                  V4      4      pVP-                  R\&        P(                  P+                  V P                   VP.                  4      4      pVP1                  V4       K  	  V P3                  VV P                  V4      V4      pV P5                  VV4      pVP6                  '       d   R.V,           V,           RVR.,           pM	VV,           pVP1                  V4       EKU  	  EK  	  VP                  R^ 4       VP                  RR4       . pV F]  p. pV F2  pRV9   d   VP1                  RV R24       K!  VP1                  V4       K4  	  VP1                  RP+                  V4      4       K_  	  RP+                  V4      pVP                  RV4       VP                  R^ 4       R# )r  r+  r  r  r  r  r  r  r  cdr  z@INPUT@z@OUTPUT@z@BUILD_DIR@z@CURRENT_SOURCE_DIR@(>)r  r  r  r   \"z && r  r  N)get_generatorget_exebuild_target_to_cmd_arrayr   r#  r  r  r  r   r   r  r  get_outputsrt   r   rel_to_builddirbuild_to_srcget_arglistr  r  r  rO   r   r  r   replace_outputsreplace_extra_argsrB  ) rj   r4  r  r  r  rq  	generatorexeexe_arrr1  target_private_dirgen_dict
infilelistoutfilelistrn  r  r  r0  ofr   
infilename	base_argsr  r   rS  argfull_commandquoted_cmdscmndqr   r!  s    &&&&&&                          rD   r6  ,XCodeBackend.generate_single_generator_phase  s    ))+	!005""002!\\$*E*Ea*H$J]J]^_J`a9d00%1FGU_`l_mmnotnuSvw'')
))+%!;<+Z8'8:.,
3&J|nAeW"EF7O$!**1-	:-2Bb! A
 **4+<+<>PQJ!--j9I!11!4GGLL!<!<Q!?H$C++i<C++j!4<<]DLgLghiLjkC++&<bggll4K\K\^_^f^f>ghCKK$	 %
 ++D$2M2Ma2PR]^..tW=$$$$'57?T#9S!SM#IL#*T>L- 5 . 	>B+y1DA!8HHs1#S\*HHQK	 
 sxx{+  [)-0,a0rF   c                    V ^8  d   QhRRRR/# r	  rB   )rC   s   "rD   rE   r     s     !I !IW !I !IrF   c           
     	   V P                    EFK  p\        4       pV P                  V,          pVP                  VP                  V,          VR 4       VP                  RR4       VP                  RR4       \        4       pVP                  RV4       V P                  V,          P                   F  p\        P                  P                  VP                  VP                  4      p\        P                  ! V4      '       d   KU  VP                  V P                  W&3,          \        P                  P                  V P                  P!                  4       V4      4       K  	  ^ pVP"                   EF  p\%        V\&        P(                  4      '       dy   V P+                  V4      w  rpV
 F\  pVP                  V P,                  V,          \        P                  P                  V P                  P/                  4       V4      4       K^  	  K  \%        V\&        P0                  4      '       d   V P3                  V4      pVP5                  4        F{  p\        P                  P                  W4      pVP                  V P,                  V,          \        P                  P                  V P                  P/                  4       V4      4       K}  	  EK_  \%        V\&        P6                  4      '       d;   V P8                  W'3,          pV^,          pV F  pVP                  V4       K  	  EK  \;        R\=        V4      ,           4      h	  VP                  R^ 4       EKN  	  R# )	r  r  PBXSourcesBuildPhaser  r  r  zUnknown input type: r  N)r  r   rG  r   r  rt   r  r  r  rO   r  r0  r   	is_headerr   r   r4  r  r   r   r  r  r  r#  r  r$  rB  r  r  r   r}   )rj   rq  r  
phase_dictr  file_arrr   r  gtr  r  r  r   
output_dirgenfiless   &&             rD   rk  -XCodeBackend.generate_pbx_sources_build_phase  s   %%D J""4(A!!!//$"7YO'=> 1:>zH2''-55GGLL1773 **1--%%d&8&8$&CRWW\\RVRbRbRqRqRsuvEwx 6 Lkkb%"4"455.2.M.Mb.Q+Ts' ))$*M*Ma*P*,'',,t7G7G7U7U7WYZ*[] (  E$;$;<<!%!B!B2!FJ^^-GGLL7 ))$*M*Ma*P*,'',,t7G7G7U7U7WYZ*[] .  E$7$788#;;T<PQH A%L% ))!, & ''=B'GHH% "&  DaHA &rF   c                    V ^8  d   QhRRRR/# r	  rB   )rC   s   "rD   rE   r     s     N N7 Nt NrF   c                	   \        4       pVP                  V P                  VR 4       VP                  RR4       VP                  RV P                  4       . pVP	                  V P
                  V P                  RR34       V P                   FK  pV P                  V,          pVP	                  WPP                  V,          W@P                  V,          34       KM  	  V P                   F;  pV P                  V,          pVP	                  WPP                  V,          VR34       K=  	  \        V\        P                   ! ^ 4      R7      pV F  p\        4       pVP                  V^ ,          VR4       VP                  RR4       VP                  RV^,          V^,          4       V^,          f   Kg  VP                  RV^,          R4       K  	  R# )	r  r  r  r  REGENNr  targetProxyrr  )r   r   r  r   r   r   r   rG  r  r  r  rI  r  r  r  r  r  )rj   rq  all_dictrh   r  r:  sorted_targetst_dicts   &&      rD   rl  +XCodeBackend.generate_pbx_target_dependency  sy   9d44hL%!67(DKK000$--$OP##A$$Q'ENNE#6#6q#91>U>UVW>XYZ $ $$A++A.ENNE#@#@#CQMN %
  X-@-@-CDAYF!!!A$0EFOOE#89OOHadAaD1tqt5LM  rF   c                    V ^8  d   QhRRRR/# r	  rB   )rC   s   "rD   rE   r     s     70 70G 70 70rF   c                	   V P                    EF  p\        4       pVP                  V P                  V,          W24       VP                  R R4       \        4       pVP                  RV4       VP                  RV P                  4       VP                  RV P
                  P                  4       4       VP                  RR4       VP                  RR4       VP                  R	R
4       VP                  RR4       VP                  RR4       VP                  RV4       EK  	  V P                    F  p\        4       pVP                  V P                  V,          W24       VP                  R R4       \        4       pVP                  RV4       \        4       pVP                  R4       VP                  RV4       VP                  RV4       K  	  V P                    F  p\        4       pVP                  V P                  V,          W24       VP                  R R4       \        4       pVP                  RV4       \        4       pVP                  RV4       VP                  R4       VP                  RV4       K  	  V P                  P                  4        F  w  rgV P                  WV4       K  	  V P                  P                  4        F  w  rg\        4       pVP                  V P                  V,          X,          W24       VP                  R R4       \        4       pVP                  RV4       VP                  RV P                  4       VP                  RR4       VP                  RR4       VP                  RV4       K  	  R# )r  XCBuildConfigurationrM  ARCHS	BUILD_DIRr  z$(BUILD_DIR)ONLY_ACTIVE_ARCHr1   SWIFT_VERSIONz5.0r  macosxOBJROOTz$(BUILD_DIR)/buildr  "$(inherited)"WARNING_CFLAGSN)r   r   r   r  r   r   r#  r  rt   r  rG  rV   generate_single_build_targetrI  r  )rj   rq  r   r  rP  
warn_arraytarget_namer  s   &&      rD   rm  ,XCodeBackend.generate_xc_build_configuration  s   IiG!!$"="=i"H']U$:;#IM_m<""7DII6"";0@0@0N0N0PQ""<@""#5u=""?E:""9h7""9.BCVY/ )  IiG!!$">">y"I7^U$:;#IM_m<!J 01""#3Z@VY/ ) IiG!!$":":9"EwZU$:;#IM_m<!J""#3Z@ 01VY/ ) $(#5#5#;#;#=K--lP $> $(#6#6#<#<#>KiG!!$"3"3K"@"KW`U$:;#IM_m<""7DII6""#5u=""9h7VY/ $?rF   c               $    V ^8  d   QhRRRRRR/# )r@   r  r'  r   r}   rA   zT.Tuple[T.List[str], bool]rB   )rC   s   "rD   rE   r   V  s$     ' '7H 'UX ']w 'rF   c                	   R p. pVP                    EF  p\        V\        P                  4      '       d#   \        V\        P                  4      '       d   KF  \        V\        P
                  4      '       d-   V P                  VP                  4      pVP                  4       pMc\        V\        P                  4      '       d#   V P                  V4      pVP                  4       pM!V P                  V4      pVP                  4       p\        P                  P                  V P                  P                  4       Wg4      pVP!                  RV,          4       \        V\        P"                  4      '       d   Rp\        V\        P$                  4      '       g   EK  V P'                  WR4      w  rWI,          pT;'       g    T
pEK  	  WC3# )Fr  T)r<  r   r   SharedModuler  r  r$  r  r  r  r  r  r  rO   r   r#  r   r  r   determine_internal_dep_link_args)rj   r  r   links_dylibdep_libsr>  rel_dirlibnameabs_pathsub_libssub_links_dylibs   &&&        rD   r|  -XCodeBackend.determine_internal_dep_link_argsV  sU   $$A&%"4"455*QHXHX:Y:Y!U4455;;AHHE..*Au1122;;A>..*--a0..*ww||D$4$4$B$B$DgWHOOFX-.!U0011"!U0011.2.S.STU.a+$)<<_' %( &&rF   c               (    V ^8  d   QhRRRRRRRR/# )	r@   rq  r   rw  r}   r  r'  rA   rb   rB   )rC   s   "rD   rE   r   o  s0     H0 H0 H0s H0\m H0rv H0rF   c           	     	    V P                    EF  p. pR p. pRpV P                  V4      p	\        4       p
VP                   EF)  pVP                   F  p\
        P                  P                  VP                  V4      pVP                  \
        P                  P                  V P                  P                  4       V4      4       VP                  \
        P                  P                  V P                  P                  4       V4      4       K  	  VP                   FJ  pVP                  \
        P                  P                  V P                  P                  4       V4      4       KL  	  EK,  	  VP                  4        F  p\        P                   ! V4      '       g   K!  V	'       g   K+  VP#                  V P$                  4      p\
        P                  P'                  \
        P                  P                  V P                  P                  4       V4      4      p M	  V P)                  W44      w  rVV'       d   RR.V,           pRp\+        V\,        P.                  4      '       d   \+        V\,        P0                  4      '       d   . pMR.pVR.V,           ,          p\
        P                  P                  V P                  P                  4       VP2                  V4      pVP4                  pMTpRpVe    VP7                  4       R,           V,           pMVP7                  4       pVVP8                  ,          pV	'       d   VP                  R,          . ppMV P;                  V4      w  pp\+        V\,        P<                  4      '       gf   VV P,                  P?                  VVP@                  VPB                  4      ,          pVV P,                  PE                  VVPB                  4      ,          p. pVPG                  4        F1  pVVPI                  4       ,          pVVPK                  4       ,          pK3  	  VPL                   F  p\+        V\,        PN                  4      '       g   K%  \        4       pV PQ                  V4       F  p\
        P                  P                  V P                  P                  4       VPR                  P2                  V4      pVV9  g   KY  VPU                  V4       VRV,           R,           .,          pK  	  K  	  ^ pVPV                   EF  p\+        V\,        PX                  4      '       dr   V PZ                  VV3,          pV^,          pV FK  pVP]                  R	4      '       g   VP]                  R
4      '       g   K3  VRV,           R,           .,          pKM  	  K  \+        V\,        P^                  4      '       d   V Pa                  V4      w  p p!p"V! F  p#\
        P                  Pc                  V#4      RB,          \d        9   g   K4  VR\
        P                  P                  V P                  P                  4       V#4      ,           R,           .,          pK  	  EKU  \+        V\,        Pf                  4      '       d   VPi                  4        F  p#\
        P                  Pc                  V#4      RB,          \d        9   g   K4  VR\
        P                  P                  V P                  P                  4       V#4      ,           R,           .,          pK  	  EK  \k        V4      h	  \+        V\,        P0                  4      '       d(   VVPm                  VPo                  4       4      ,          pM7\+        V\,        P.                  4      '       d   VVPq                  4       ,          pRP                  V4      p$V Pr                  V,          V,          p%/ p&V P                  Pt                  P                  VPB                  ,           EF  p'V'\v        9  d   K  VP                  Py                  V'4      p(V(f   K2  V(P{                  V P}                  VR4      4      p)V(P                  W3P@                  4      p*V*V(P                  W3P@                  4      ,          p*V P,                  P                  VPB                  ,          Py                  VP@                  / 4      Py                  V'. 4      p+V P,                  P                  VPB                  ,          Py                  V'. 4      p,VP                  V'4      p-V)V*,           V+,           V,,           V-,           p.V'R8X  d4   V P                  V4      p/V/ F  pV.V(P                  VR 4      ,          p.K  	  V.'       g   EK  . p0V('       d'   VP                  '       d   V P                  VV(RR7      p0V'R8X  d   Rp'M	V'R8X  d   Rp'V
PU                  V'4       \v        V',          p1V&P                  V1. 4       VV0,           V.,           V&V1&   EK  	  \
        P                  P                  V P                  P                  4       VP2                  4      P                  R4      p2\        4       p3VP                  V%V3V4       V3P                  RR4       \        4       p4V3P                  RV44       V4P                  RR4       \+        V\,        P0                  4      '       d&   V4P                  RR4       V4P                  RR4       MVe   V4P                  R\        V4      4       VP                  '       d   V4P                  RVP                  4       VP                  '       d&   RVP                  ,           p5V4P                  RV54       V4P                  R\        V P}                  VR4      ,          4       V4P                  RR 4       \        V P}                  VR!4      ,          p6V6e   V4P                  R"V64       VP                  '       d   VP                  R,          VP                  R,          3 U7u. uF  p7V7f   K	  V7^ ,          NK  	  p8p7V8'       d   \        V84      ^8  d)   \        P                  ! R#V8: R$VP                   R%24       \
        P                  P                  VP                  4       V8^ ,          4      p9V4P                  R&R4       V4P                  R'R(V9 24       V4P                  R)R4       V4P                  R*R 4       V P                  V4      .p:VP                  '       d   V:P                  \
        P                  P                  V P                  P                  4       VP                  4       4      4       V:P                  \
        P                  P                  V P                  P                  4       VP                  4       4      4       V:V,          p:V4P                  R+V P                  V:4      4       V4P                  R,V4       V4P                  R-R4       \+        V\,        P0                  4      '       d&   V4P                  R.R/4       V4P                  R0R14       M2\+        V\,        P.                  4      '       d   V4P                  R.R24       V P                  V4V&4       V4P                  R3V$4       V4P                  R4R4       V4P                  R5V4       V4P                  R6R4       V	'       dT   V'       dL   V4P                  R7V4       V P                  ^<8  d)   VP                  4       '       d   V4P                  R8R94       V4P                  R:V24       V4P                  R;V2 R<24       \        4       p;V4P                  R=V;4       V4P                  R>R 4       \        4       p<V4P                  R?V<4       V<P                  R@4       V3P                  RAV4       EK  	  R# u up7i )CFrI   z-Wl,-search_paths_firstz -Wl,-headerpad_max_install_namesNz-dynamiclibrJ   r   r>  r,  .objr   warning_levelT)r  r&   r   r(   r   r+  r  rl  rM  COMBINE_HIDPI_IMAGESr1   DYLIB_CURRENT_VERSIONDYLIB_COMPATIBILITY_VERSIONEXECUTABLE_PREFIXEXECUTABLE_SUFFIXGCC_GENERATE_DEBUGGING_SYMBOLSdebugGCC_INLINES_ARE_PRIVATE_EXTERNr2   optimizationGCC_OPTIMIZATION_LEVELzGUnsupported Xcode configuration: More than 1 precompiled header found "z". Target "z" might not compile correctly.GCC_PRECOMPILE_PREFIX_HEADERGCC_PREFIX_HEADERz$(PROJECT_DIR)/GCC_PREPROCESSOR_DEFINITIONSGCC_SYMBOLS_PRIVATE_EXTERNHEADER_SEARCH_PATHSINSTALL_PATHLIBRARY_SEARCH_PATHSLIBRARY_STYLEBUNDLEMACH_O_TYPE	mh_bundleDYNAMICOTHER_LDFLAGSOTHER_REZFLAGSPRODUCT_NAMESECTORDER_FLAGSSWIFT_OBJC_BRIDGING_HEADERSWIFT_OBJC_INTEROP_MODEobjcxxrn  rr  z/buildSYSTEM_HEADER_SEARCH_PATHSUSE_HEADERMAPrt  rs  r  rv  )^r   is_swift_targetr   include_dirsincdirsr  r  rO   curdirr   r   r4  r#  extra_build_dirsget_sourcesr   r[  rC  rD  normpathr|  r   r   r  r{  r  	soversionr  	link_args determine_linker_and_stdlib_argsr  get_project_link_argsr  for_machineget_global_link_argsr  get_compile_argsget_link_argsr  r  determine_ext_objsr  r   r  r  r   endswithr  r  r1  LINKABLE_EXTENSIONSr  rB  r   get_std_shared_module_link_argsget_optionsget_std_shared_lib_link_argsr  r   LANGNAMEMAPrx  get_warn_argsget_target_optionget_option_compile_argsget_option_std_argsprojects_argsglobal_argsget_extra_argsr?  get_include_argsimplicit_include_directories"get_custom_target_dir_include_args
setdefaultrstripr   r   r}   prefixsuffixBOOL2XCODEBOOLOPT2XCODEOPThas_pchpchr  r   warningr  r  get_target_private_dir_absnormalize_header_search_pathsadd_otherargsr   uses_swift_cpp_interoprt   )=rj   rq  rw  r  r   r~  r}  
headerdirsbridging_headeris_swiftlangsr$  sdr:  extrar   relhdylib_versionldargsinstall_pathproduct_namelinkerstdlib_argscargsr  r   
added_objsobjname_relobjname_absr  r  o_absr  r  r  ofnameldstrvalidlangargslangrj  	warn_argsstd_argspargsgargstargsrS  swift_dep_dirscti_argslangnamesymrootr  rP  r  opt_flagr  pchsrelative_pch_pathunquoted_headerssysheader_arrrv  s=   &&&&                                                         rD   ru  )XCodeBackend.generate_single_build_targeto  s   I$&HKJ O++F3HEE(())Bahh3B%%bggll43C3C3R3R3TVX&YZ%%bggll43C3C3Q3Q3SUW&XY $ //E%%bggll43C3C3Q3Q3SUZ&[\ 0 ) '')&&q))hh,,T->->?D&(gg&6&6rww||DDTDTDbDbDdfj7k&lO	 *
 '+&K&KF&^#X57YZ]ee M&%"5"566fe&8&899F+_F=>II!ww||D,<,<,J,J,Lfmm]fg & 0 0!!(%224s:]J%224f&&&F &,&6&6w&?&*&K&KF&S#fe&9&9::$**::66CTCTV\VhVhii$**99&&BTBTUUE//1--//#++-- 2 ^^a!7!788!$J'+'>'>q'A&(ggll43C3C3Q3Q3SUVU]U]UdUdfq&r&j8&NN;7"u{':U'B&CCF	 (B	 $ L%%a!4!455"44[,5NOG A%L!( >>$//5>>&3I3I"uu}u'<&==F ") "!U%7%788262Q2QRS2T/z3&0F!ww//7;?RR &5277<<@P@P@^@^@`bh3i+ilq+q*r r '1 $Au'>'>??&'mmoF!ww//7;?RR &5277<<@P@P@^@^@`bh3i+ilq+q*r r '6 +1o-% && &%"4"455&@@ASASAUVVFE$7$788&==??HHV$E%%k29=E13H((11;;F<N<NOO{*!++//5#$2243I3I&Ra3bc	#;;FDUDUVH88ARARSS

001C1CDHHIZIZ\^_ccdhjlm 

..v/A/ABFFtRP--d3 8+e3e;eC7? &*%B%B6%JN+ 9 9!U CC ,4!HF$G$G$G $(#J#J6S[ko#J#p v~")$IIdO*40H''"5).)9D)@HX&O PP ggll4#3#3#A#A#CV]]SZZ[^_GiG!!%)<U$:;#IM_m<""#95A&%"4"455&&'>C&&'DbI ,!**+BCDVW}}}&&':FMMJ}}}v}},&&':FC""#C^TXTjTjkqszT{E|}""#CTJ#D$:$:6>$RSH#&&'?J~~~ (.zz#

58I&J\&Ja!&J\4y1}'nosnv  wB  CI  CN  CN  BO  Om  &n  o(*V5F5F5H$q'(R%!**+I5Q!**+>/RcQd@ef""#A2F""#?F $ ? ? GH222 ''T5E5E5S5S5UW]WhWhWj(kl ''T5E5E5T5T5VX^XiXiXk(lm
*""#8$:\:\]m:no""><@""#92>&%"4"455&&A&&}kBFE$7$788&&	B}h7""?E:""#3R8""><@""#4b9O&&'C_U??b(V-J-J-L-L!**+DhO"";8""9	.@A$JM ""#?O""?D9!J""#3Z@ 01VY/O )z ]s   	A@A@c                    V ^8  d   QhRRRR/# )r@   header_dirsr:  rA   rt   rB   )rC   s   "rD   rE   r   9  s        rF   c                	    \        4       pV FF  p\        P                  P                  V4      pR V9   d   RV R2MRV R2pVP	                  V4       KH  	  V# )r   z"\"z\""r   )rt   r  r  r  r   )rj   r  
header_arrr   npr{   s   &&    rD   r  *XCodeBackend.normalize_header_search_paths9  s[    Z
A!!!$B(+r	U2$e$2$ayD%	 
 rF   c               $    V ^8  d   QhRRRRRR/# )r@   rP  r   r  zT.Dict[str, T.List[str]]rA   rb   rB   )rC   s   "rD   rE   r   B  s(     X X7 X>V X[_ XrF   c           	     	   VP                  4        F  w  r4V'       g   K  . pV Fo  pVP                  \        ^\4      ^\        ^\4      ,          4      pVP                  RR4      pRV9   g   RV9   d   RV,           R,           pVP                  V4       Kq  	  VP	                  RV R2RP                  V4      4       K  	  R# )	\   r   z\\\"r   'r>  OTHER_FLAGSN)rV   r   rU  r   r   rO   )rj   rP  r  r  rS  quoted_argsr   s   &&&    rD   r  XCodeBackend.add_otherargsB  s    &nn.NHt A 		#b'1SW95A		$0Aax3!8!AI-&&q)  &&z'?+AVW /rF   c                    V ^8  d   QhRRRR/# r	  rB   )rC   s   "rD   rE   r   Q  s"     CH CH' CHd CHrF   c                		   \        4       pVP                  V P                  VR V P                  P                   R24       VP                  RR4       \        4       pVP                  RV4       V P                   F&  pVP                  V P                  V,          V4       K(  	  VP                  R^ 4       VP                  RV P                  4       \        4       pVP                  V P                  VR4       VP                  RR4       \        4       pVP                  RV4       V P                   F&  pVP                  V P                  V,          V4       K(  	  VP                  R^ 4       VP                  RV P                  4       \        4       pVP                  V P                  VR4       VP                  RR4       \        4       pVP                  RV4       V P                   F&  pVP                  V P                  V,          V4       K(  	  VP                  R^ 4       VP                  RV P                  4       \        4       pVP                  V P                  VR	4       VP                  RR4       \        4       pVP                  RV4       V P                   F&  pVP                  V P                  V,          V4       K(  	  VP                  R^ 4       VP                  RV P                  4       V P                   F  p	\        4       p
V P                  V	,          pVP                  WR
V	 R24       V
P                  RR4       \        4       pV
P                  RV4       V P                   V	,          V P                  ,          pVP                  WP                  4       V
P                  R^ 4       V
P                  RV P                  4       K  	  V P"                   F  p	\        4       p
V P                  V	,          pVP                  WRV	 R24       V
P                  RR4       \        4       pV
P                  RV4       V P                   V	,          V P                  ,          pVP                  WP                  4       V
P                  R^ 4       V
P                  RV P                  4       K  	  R# )r   r   r  XCConfigurationListbuildConfigurationsdefaultConfigurationIsVisibledefaultConfigurationNamez;Build configuration list for PBXAggregateTarget "ALL_BUILD"z:Build configuration list for PBXAggregateTarget "RUN_TEST"z<Build configuration list for PBXAggregateTarget "REGENERATE"r  r  N)r   r   r   r   r-  rt   r   r  r   r   r  r   r  r   rG  r  r  rI  )rj   rq  	conf_dict	confs_arrr   rf  conf_arr	test_dict
regen_dictrw  rh  listidr:  s   &&           rD   rn  *XCodeBackend.generate_xc_configurationListQ  s   I	d33YBklplvlv  mD  mD  lE  EF  AG  	H5"78J	0)<It::9EyQ ):A>5t~~F 9d33X?|}%!67:/:Id::9EyQ )91=4dnnE I	d44iA}~5"78:0(;Id66yA9M ):A>5t~~F Y
d55y  CA  	BE#89:18<Id66yA9M );Q?6G--KYF**;7F!!&4bcnboop2qrOOE#89zHOO18<%%k24>>BEe^^4OO;Q?OO6G .  ..KYF**;7F!!&4efqerrs2tuOOE#89zHOO18<%%k24>>BEe^^4OO;Q?OO6G /rF   c                    V ^8  d   QhRRRR/# )r@   pbxdictr   rA   rB   )rC   s   "rD   rE   r     s      w 7 rF   c                	    VP                  R R4       VP                  R\        4       4       VP                  RV P                  4       \        4       pVP                  RV4       V# )archiveVersionr.   classesobjectVersionr  )r   r   r   )rj   r  rq  s   && rD   r_  XCodeBackend.generate_prefix  sV    )3/GI.$//:yL1rF   c                    V ^8  d   QhRRRR/# )r@   r  r   rA   rb   rB   )rC   s   "rD   rE   r     s     K Kw K4 KrF   c                	@    VP                  R V P                  R4       R# )
rootObjectrt  N)r   r   )rj   r  s   &&rD   ro  XCodeBackend.generate_suffix  s    t'7'79IJrF   )2r   r   r   r  r  rG  r  r  r  r   r  r   r   r  r  r  r  rI  r  r   r  r  r  r   r   r  r  r  r   r  r  r]  r^  r  r   r   r   r   r   r   r  r  r  r  r   r   r  r   r   r   re   )FN)Hrn   ro   rp   rq   r  rk   r
  r   	functools	lru_cacher  r$  r7  r?  rr  r|  rJ  rK  rL  rM  rO  rP  rQ  rN  rR  rU  rT  rV  r  rS  rX  rY  rZ  r[  r  r\  rW  r`  ra  r5  rc  rW  rb  rd  re  rf  rg  r  r  r  r  r  rh  ri  rj  r  r  r  r  r6  rk  rl  rm  r|  ru  r  r  rn  r_  ro  rr   __classcell__)r   s   @rD   r   r      s   D B'? & '

R#h 6D=7*FGC53
/E"*4(J:"77
A&8P81
F8PM"^.-+&HP1gORFi7V3j
I+.	'?ABF:H338@&=1~!IFN270r'2H0TXCHJK KrF   r   >   .ar,  .sor  .dylib)z
Xcode 15.0<   )z
Xcode 14.08   )z
Xcode 13.07   )z
Xcode 12.06   )z
Xcode 11.45   )z
Xcode 11.04   )z
Xcode 10.03   )z	Xcode 9.32   )z	Xcode 8.00   )z	Xcode 6.3/   )z	Xcode 3.2.   )z	Xcode 3.1-   ))
__future__r   r!  r  r  r  rP   typingr   rI   r   r   r   r   r   arglistr	   r
   r   optionsr   TYPE_CHECKINGr   r   r   rw  r  r  r  r  r  rU   r]   r_   rt   r   r   r   r   Backendr   rB   rF   rD   <module>r9     sS   # ( ( (       " 8 ???#$	% \* + +	
 + ( - % ) ) ) ' + 0 .  %!" (+)'* /  Ckv	 SSSSSS ud+; +++++++)))))U 5 52 2*	# 	#( ( 6C CJuK8## uKrF   