§
    ¡)ýf€*  ã                   óf   — d Z d„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zdd	œd
„Zd„ Z	dd„Z
d„ Zddœd„Zd„ ZdS ))Ú_init_properties_from_dataÚkeyconfig_export_as_dataÚkeyconfig_import_from_dataÚkeyconfig_init_from_dataÚkeyconfig_mergeÚkeymap_init_from_datac                 ó   — | dz  S )Nú © )Úlevelss    úX/home/blender/git/blender-v430/install_release/4.3/scripts/modules/bl_keymap_utils/io.pyÚindentr      s   € Ø�C‰<Ðó    c                 óJ   — ddl m}m}  |d |d| ¦  «        ¦  «        d         S )Né    )ÚpackÚunpackÚf)Ústructr   r   )r   r   r   s      r   Úround_float_32r      s;   € Ø#Ð#Ð#Ð#Ð#Ð#Ð#Ð#Øˆ6�#�t�t˜C ‘|”|Ñ$Ô$ QÔ'Ð'r   c                 ó:  — t          | ¦  «        }t          | ¦  «        }|                     d¦  «        d         }|s|S t          dt	          |¦  «        ¦  «        D ]?}t          | |¦  «        }t          |¦  «        }||k    rd                     ||¦  «        c S Œ@|S )Nú.é   é   z	{:.{:d}f})r   ÚreprÚ	partitionÚrangeÚlenÚroundÚformat)r   Úf_roundÚf_strÚ
f_str_fracÚiÚf_testÚf_test_rounds          r   Úrepr_f32r&      s§   € Ý˜QÑÔ€GÝ�‰GŒG€EØ—’ Ñ%Ô% aÔ(€JØð ØˆÝ�1•c˜*‘o”oÑ&Ô&ð 1ð 1ˆÝ�q˜!‘”ˆÝ% fÑ-Ô-ˆØ˜7Ò"Ð"Ø×%Ò% f¨aÑ0Ô0Ð0Ð0Ð0ð #à€Lr   c                 ó0  — d| j         › d�d| j        › d�g}| j        r|                     d¦  «         n<dD ]9}t	          | |¦  «        x}r%|                     d|d›d�|d	k    rd
ndz   ¦  «         Œ:| j        x}r |dk    r|                     d|d›d�¦  «         | j        x}r |dk    r|                     d|d›d�¦  «         | j        r4| j        dk    r	| j        dv s| j        dk    r|                     d¦  «         dd 	                    |¦  «        z   dz   S )Nz	"type": 'ú'z
"value": 'z"any": True)ÚshiftÚctrlÚaltÚoskeyú"Úsz": éÿÿÿÿz-1ÚTrueÚNONEz"key_modifier": 'ÚANYz"direction": 'ÚKEYBOARD>   r2   ÚPRESSÚ	TEXTINPUTz"repeat": Trueú{ú, ú})
ÚtypeÚvalueÚanyÚappendÚgetattrÚkey_modifierÚ	directionÚrepeatÚmap_typeÚjoin)Úkmir.   ÚattrÚmodr?   s        r   Úkmi_args_as_datarF   )   sx  € à!�c”hÐ!Ð!Ð!Ø#�s”yÐ#Ð#Ð#ð	€Að
 „wð NØ	�Š�Ñ!Ô!Ð!Ð!à5ð 	Nð 	NˆDÝ˜c 4Ñ(Ô(Ð(ˆsð NØ—’Ð*˜dÐ*Ð*Ð*Ð*°c¸R²i°i¨d¨dÀVÑLÑMÔMÐMøØÔÐˆð 1 c¨V¢m mØ	�ŠÐ/ sÐ/Ð/Ð/Ð/Ñ0Ô0Ð0Ø”]Ð"ˆ	ð 4¨°eÒ);Ð);Ø	�ŠÐ2 IÐ2Ð2Ð2Ð2Ñ3Ô3Ð3à
„zð )à” Ò+Ð+°´	Ð=MÐ0MÐ0MØ” Ò,Ð,à�HŠHÐ'Ñ(Ô(Ð(à�—’˜1‘”Ñ Ñ#Ð#r   c                 óò  — ddl m} d„ }|j        j                             ¦   «         D �]M}|dk    �rCt          ||¦  «        }t          ||¦  «        rÔg }t          | dz   ||¦  «         |rº|                     d¦  «         |                     d|› d�¦  «         |                     t          | d	z   ¦  «        › d
�¦  «         | 
                    |¦  «         |                     d¦  «         |                     t          | d	z   ¦  «        › dt          | dz   ¦  «        › �¦  «         ~Œþ|                     |¦  «        r: ||¦  «        }|                     d|› d|d›dt          | dz   ¦  «        › �¦  «         �ŒOd S )Nr   )ÚOperatorPropertiesc                 ó6  — t          | t          t          t          t          f¦  «        rt          | ¦  «        S t          | t          ¦  «        rt          | ¦  «        S t          | dd¦  «        rt          t          | ¦  «        ¦  «        S t          d| ›�¦  «        ‚)NÚ__len__Fz&Export key configuration: can't write )Ú
isinstanceÚstrÚboolÚintÚsetr   Úfloatr&   r=   ÚtupleÚ	Exception)r:   s    r   Ústring_valuez8_kmi_properties_to_lines_recursive.<locals>.string_valueG   s†   € Ý�e�c¥4­­cÐ2Ñ3Ô3ð 	&Ý˜‘;”;ÐÝ˜�uÑ%Ô%ð 	&Ý˜E‘?”?Ð"Ý�U˜I uÑ-Ô-ð 	&Ý�˜e™œÑ%Ô%Ð%ÝÐJÀÐJÐJÑKÔKÐKr   Úrna_typer   ú(r-   ú",
é   ú[ú],
ú),
z("z", r.   )Ú	bpy.typesrH   Úbl_rnaÚ
propertiesÚkeysr=   rK   Ú"_kmi_properties_to_lines_recursiver<   r   ÚextendÚis_property_set)Úlevelr]   ÚlinesrH   rS   Úpnamer:   Ú
lines_tests           r   r_   r_   D   sÃ  € Ø,Ð,Ð,Ð,Ð,Ð,ðLð Lð Lð Ô"Ô-×2Ò2Ñ4Ô4ð Vñ VˆØ�JÒÑÝ˜J¨Ñ.Ô.ˆEÝ˜%Ð!3Ñ4Ô4ð VØ�
Ý2°5¸1±9¸eÀZÑPÔPÐPØð WØ—L’L Ñ%Ô%Ð%Ø—L’LÐ!2 eÐ!2Ð!2Ð!2Ñ3Ô3Ð3Ø—L’L¥F¨5°1©9Ñ$5Ô$5Ð!;Ð!;Ð!;Ñ<Ô<Ð<Ø—L’L Ñ,Ô,Ð,Ø—L’L Ñ(Ô(Ð(Ø—L’L¥F¨5°1©9Ñ$5Ô$5Ð!UÐ!UÅ&ÈÐQRÉÑBSÔBSÐ!UÐ!UÑVÔVÐVØ�JØ×+Ò+¨EÑ2Ô2ð VØ$˜ UÑ+Ô+�Ø—’ÐS EÐSÐS¨uÐ<ÐSÐSÅÀuÈqÁyÑ@QÔ@QÐSÐSÑUÔUÐUùð!Vð Vr   c                 óÜ   — |€d S dt          | dz   ¦  «        › d�g}t          | ||¦  «         t          |¦  «        dk    r,|                     d¦  «         |                     |¦  «         d S d S )Nz"properties":
r   rX   rY   )r   r_   r   r<   r`   )rb   Ú	kmi_propsrc   re   s       r   Ú_kmi_properties_to_linesrh   c   sƒ   € ØÐØˆàA­&°¸±Ñ*;Ô*;ÐAÐAÐAÐB€JÝ& u¨i¸ÑDÔDÐDÝ
ˆ:�„˜ÒÐØ×Ò˜&Ñ!Ô!Ð!Ø�Š�ZÑ Ô Ð Ð Ð ð Ðr   c                 óÆ   — g }t          | dz   |j        |¦  «         |j        du r%|                     t	          | ¦  «        › d�¦  «         |sd S d                     |¦  «        S )Nr   Fz"active":False,
Ú )rh   r]   Úactiver<   r   rB   )rb   rC   rc   s      r   Ú_kmi_attrs_or_nonerl   n   sj   € Ø€EÝ˜U Q™Y¨¬¸Ñ>Ô>Ð>Ø
„z�UÐÐØ�Š�˜u™œÐ=Ð=Ð=Ñ>Ô>Ð>Øð ØˆtØ�7Š7�5‰>Œ>Ðr   F)Úall_keymapsc          	      óØ  —  G d„ d¦  «        } |¦   «         }| j         j        j        D ]%}|s|j        r|j                             |¦  «         Œ&|| j         j        k    rt          ||¦  «        }nt          ||¦  «        }|                     d„ ¬¦  «         t          |dd¬¦  «        5 }|j	        }	dd	l
m}
  |	d
|
›d�¦  «         ~
 |	d¦  «         |D �]W\  }}|                     ¦   «         } |	d¦  «          |	d|j        d›d�¦  «          |	t          d¦  «        › d�¦  «          |	d|j        d›d�¦  «          |	d|j        d›d�¦  «         |j        r |	d¦  «          |	d¦  «          |	t          d¦  «        › d�¦  «         |j        } |	d¦  «          |	t          d¦  «        › d�¦  «         |j        D �]}|r|j        }n|j        } |	d¦  «         t+          |¦  «        }t-          d|¦  «        } |	d|d›d�¦  «         |€ |	d¦  «         n |	dt          d¦  «        › �¦  «          |	|¦  «         |€ |	d¦  «         np |	d¦  «          |	t          d¦  «        › d�¦  «          |	|¦  «          |	t          d ¦  «        › ¦  «          |	dt          d¦  «        › �¦  «          |	d!¦  «          |	t          d¦  «        › ¦  «         �Œ |	d"t          d¦  «        › �¦  «          |	dt          d¦  «        › �¦  «          |	d!t          d#¦  «        › �¦  «         �ŒY |	d$¦  «          |	d%¦  «          |	d&¦  «          |	d'¦  «          |	d(¦  «          |	d)¦  «          |	d*¦  «          |	d+¦  «          |	d,¦  «          |	d-¦  «          |	d.¦  «          |	d/¦  «          |	d0¦  «          |	d1¦  «          |	d2¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )3Nc                   ó   — e Zd Zg ZdS )ú/keyconfig_export_as_data.<locals>.FakeKeyConfigN)Ú__name__Ú
__module__Ú__qualname__Úkeymapsr
   r   r   ÚFakeKeyConfigrp   ‡   s   € € € € € Øˆˆˆr   ru   c                 ó   — | d         j         S )Nr   ©Úname)Úks    r   ú<lambda>z*keyconfig_export_as_data.<locals>.<lambda>•   s   €  a¨¤d¤i€ r   )ÚkeyÚwzutf-8)Úencodingr   )Úversion_filezkeyconfig_version = ú
zkeyconfig_data = \
[rU   r-   r.   rV   r   r6   z"space_type": 'r(   z, "region_type": 'z, "modal": Truez},
z	"items":
rW   rX   é   r7   z,
é   z	, None),
é   rZ   rY   r   z]
z

zif __name__ == "__main__":
z,    # Only add keywords that are supported.
z3    from bpy.app import version as blender_version
z    keywords = {}
z&    if blender_version >= (2, 92, 0):
z:        keywords["keyconfig_version"] = keyconfig_version
z    import os
z>    from bl_keymap_utils.io import keyconfig_import_from_data
z     keyconfig_import_from_data(
z9        os.path.splitext(os.path.basename(__file__))[0],
z        keyconfig_data,
z        **keywords,
z    )
)Ú
keyconfigsÚuserrt   Úis_user_modifiedr<   Údefaultr   ÚsortÚopenÚwriteÚbpy.appr~   rk   rx   r   Ú
space_typeÚregion_typeÚis_modalÚkeymap_itemsÚ	propvalueÚidnamerF   rl   )ÚwmÚkcÚfilepathrm   ru   Ú	edited_kcÚkmÚexport_keymapsÚfhÚfwr~   Ú_kc_xr�   rC   Úkmi_idÚkmi_argsÚkmi_datas                    r   r   r   x   sy  € ðð ð ð ð ñ ô ð à�‘”€IØŒmÔ Ô(ð )ð )ˆØð 	)˜"Ô-ð 	)ØÔ×$Ò$ RÑ(Ô(Ð(øà	ˆRŒ]Ô"Ò"Ð"Ý(¨°BÑ7Ô7ˆˆå(¨°IÑ>Ô>ˆð ×ÒÐ/Ð/ÐÑ0Ô0Ð0å	ˆh˜ gÐ	.Ñ	.Ô	.ð I°"ØŒXˆð 	)Ð(Ð(Ð(Ð(Ð(Ø
ˆÐ4 ,Ð4Ð4Ð4Ñ5Ô5Ð5Øà
ˆÐ#Ñ$Ô$Ð$à'ð *	&ñ *	&‰IˆB�Ø—’‘”ˆBØˆBˆs‰GŒGˆGØˆBÐ$�B”GÐ$Ð$Ð$Ð$Ñ%Ô%Ð%ØˆB•&˜‘)”)Ð!Ð!Ð!Ñ"Ô"Ð"ØˆBÐ5 2¤=Ð5Ð5Ð5Ð5Ñ6Ô6Ð6ØˆBÐ9 b¤nÐ9Ð9Ð9Ð9Ñ:Ô:Ð:àŒ{ð (Ø�Ð&Ñ'Ô'Ð'ØˆBˆv‰JŒJˆJØˆB•&˜‘)”)Ð!Ð!Ð!Ñ"Ô"Ð"Ø”{ˆHØˆBˆ~ÑÔÐØˆB•&˜‘)”)ˆˆˆÑÔÐØ”ð #ñ #�Øð (Ø œ]�F�Fà œZ�FØ��3‘”�Ý+¨CÑ0Ô0�Ý-¨a°Ñ5Ô5�Ø�Ð$˜Ð$Ð$Ð$Ð$Ñ%Ô%Ð%ØÐ#Ø�B�t‘H”H�H�Hà�BÐ+¥ q¡	¤	Ð+Ð+Ñ,Ô,Ð,à��8‘”�ØÐ#Ø�B�|Ñ$Ô$Ð$Ð$à�B�u‘I”I�IØ�B�& ™)œ)Ð)Ð)Ð)Ñ*Ô*Ð*Ø�B�x‘L”L�LØ�B�& ™)œ)�~Ñ&Ô&Ð&Ø�BÐ,¥¨¡¤Ð,Ð,Ñ-Ô-Ð-Ø�B�v‘J”J�JØ�•f˜Q‘i”i�>Ñ"Ô"Ð"Ñ"ØˆBÐ$� ™œÐ$Ð$Ñ%Ô%Ð%ØˆBÐ$� ™œÐ$Ð$Ñ%Ô%Ð%ØˆBÐ$� ™œÐ$Ð$Ñ%Ô%Ð%Ñ%à
ˆˆ5‰	Œ	ˆ	Ø
ˆˆ6‰
Œ
ˆ
Ø
ˆÐ+Ñ,Ô,Ð,ð 	ˆÐ:Ñ;Ô;Ð;Ø
ˆÐAÑBÔBÐBØ
ˆÐ Ñ!Ô!Ð!Ø
ˆÐ4Ñ5Ô5Ð5Ø
ˆÐJÑKÔKÐKà
ˆÐÑÔÐØ
ˆÐLÑMÔMÐMØ
ˆÐ.Ñ/Ô/Ð/Ø
ˆÐGÑHÔHÐHØ
ˆÐ&Ñ'Ô'Ð'Ø
ˆÐ"Ñ#Ô#Ð#Ø
ˆˆ9‰ŒˆðSIð Ið Iñ Iô Ið Ið Ið Ið Ið Ið Ið Iøøøð Ið Ið Ið Ið Ið Is   Â)L)OÏO#Ï&O#c           	      óª  — t          |¦  «        t          u sJ ‚|D ]·\  }}t          |¦  «        t          u r6|                      |¦  «         t          | |¦  «        }t	          ||¦  «         ŒQ	 t          | ||¦  «         Œd# t          $ r# t          d|› d| j        j	        › d�¦  «         Y Œ�t          $ r}t          d|›�¦  «         Y d }~Œ°d }~ww xY wd S )NzWarning: property 'z' not found in item 'r(   z	Warning: )r9   ÚlistÚproperty_unsetr=   r   ÚsetattrÚAttributeErrorÚprintÚ	__class__rq   rR   )Ú
base_propsÚ
base_valuerD   r:   ÚpropsÚexs         r   r   r   é   s!  € Ý�
ÑÔ�tÐ#Ð#Ð#Ð#Ø!ð *ð *‰ˆˆeÝ�‰;Œ;�$ÐÐØ×%Ò% dÑ+Ô+Ð+Ý˜J¨Ñ-Ô-ˆEÝ& u¨eÑ4Ô4Ð4Ð4ð*Ý˜
 D¨%Ñ0Ô0Ð0Ð0øÝ!ð ið ið iÝÐg¨DÐgÐgÀzÔG[ÔGdÐgÐgÐgÑhÔhÐhÐhÐhÝð *ð *ð *ÝÐ( "Ð(Ð(Ñ)Ô)Ð)Ð)Ð)Ð)Ð)Ð)øøøøð*øøøð*ð *s   Á-A?Á?*CÂ+	CÂ4CÃCc                 ó(  — t          | j        |rdnd¦  «        }|D ]u\  }}} ||fi |¤Ž}|�d|                     dd¦  «        sd|_        |                     dd ¦  «        }|�/|j        }	t          |¦  «        t          u sJ ‚t          |	|¦  «         Œvd S )NÚ	new_modalÚnewrk   TFr]   )r=   rŽ   Úgetrk   r]   r9   rž   r   )
r•   Úkm_itemsr�   Únew_fnÚ
kmi_idnamer›   rœ   rC   Úkmi_props_datarg   s
             r   r   r   ù   sÄ   € Ý�R”_°XÐ&H k kÀ5ÑIÔI€FØ,4ð 	Fð 	FÑ(ˆ�X˜xØˆf�ZÐ,Ð, 8Ð,Ð,ˆØÐØ—<’< ¨$Ñ/Ô/ð #Ø"�”
Ø%Ÿ\š\¨,¸Ñ=Ô=ˆNØÐ)ØœN�	Ý˜NÑ+Ô+­tÐ3Ð3Ð3Ð3Ý*¨9°nÑEÔEÐEøð	Fð 	Fr   c           	      óÊ   — |D ]_\  }}} | j         j        |fi |¤Ž}|d         }t          |¦  «        t          u sJ ‚t	          |||                     dd¦  «        ¬¦  «         Œ`d S )NÚitemsÚmodalF)r�   )rt   rª   r9   rž   r   r«   )r’   Úkeyconfig_dataÚkm_nameÚkm_argsÚ
km_contentr•   r¬   s          r   r   r     sŒ   € ð +9ð 	Rð 	RÑ&ˆ�'˜:ØˆRŒZŒ^˜GÐ/Ð/ wÐ/Ð/ˆØ˜gÔ&ˆõ �H‰~Œ~¥Ð%Ð%Ð%Ð%Ý˜b (°W·[²[ÀÈ%Ñ5PÔ5PÐQÑQÔQÐQÐQð	Rð 	Rr   )r   r   r   )Úkeyconfig_versionc                ó¢   — dd l }|j        j        }|j                             | ¦  «        }|�ddlm}  |||¦  «        }t          ||¦  «         |S )Nr   r   )Úkeyconfig_update)ÚbpyÚcontextÚwindow_managerrƒ   rª   Ú
versioningr¹   r   )rx   r³   r·   rº   r‘   r’   r¹   s          r   r   r     sl   € ð
 €J€J€JØ	ŒÔ	#€BØ	Œ×	Ò	˜4Ñ	 Ô	 €BØÐ$Ø0Ð0Ð0Ð0Ð0Ð0Ø)Ð)¨.Ð:KÑLÔLˆÝ˜R Ñ0Ô0Ð0Ø€Ir   c                 ó®   ‡ ‡‡— d„ ‰ j         D ¦   «         Šˆ fd„‰ j         D ¦   «         }‰ ‰k    r'|                     ˆˆfd„‰j         D ¦   «         ¦  «         |S )z' note: kc1 takes priority over kc2
    c                 ó   — h | ]	}|j         ’Œ
S r
   rw   )Ú.0r•   s     r   ú	<setcomp>z"keyconfig_merge.<locals>.<setcomp>,  s   € Ð/Ð/Ð/˜R�”Ð/Ð/Ð/r   c                 ó   •— g | ]}|‰f‘ŒS r
   r
   )rÀ   r•   Úkc1s     €r   ú
<listcomp>z#keyconfig_merge.<locals>.<listcomp>-  s   ø€ Ð6Ð6Ð6 B�r˜3�iÐ6Ð6Ð6r   c              3   ó2   •K  — | ]}|j         ‰v¯|‰fV — Œd S )Nrw   )rÀ   r•   Ú	kc1_namesÚkc2s     €€r   ú	<genexpr>z"keyconfig_merge.<locals>.<genexpr>/  s@   øè è € ð 
ð 
àØŒw˜iÐ'Ð'ð �ˆIà'Ð'Ð'Ð'ð
ð 
r   )rt   r`   )rÃ   rÇ   Úmerged_keymapsrÆ   s   `` @r   r   r   )  s�   øøø€ ð 0Ð/ 3¤;Ð/Ñ/Ô/€IØ6Ð6Ð6Ð6¨#¬+Ð6Ñ6Ô6€NØ
ˆc‚z€zØ×Òð 
ð 
ð 
ð 
ð 
à”kð
ñ 
ô 
ñ 	
ô 	
ð 	
ð
 Ðr   N)F)Ú__all__r   r   r&   rF   r_   rh   rl   r   r   r   r   r   r   r
   r   r   ú<module>rË      s  ðð€ðð ð ð(ð (ð (ð
ð ð ð$ð $ð $ð6Vð Vð Vð>!ð !ð !ðð ð ð ?Dð hð hð hð hð hðb*ð *ð *ð Fð Fð Fð FðRð Rð Rð  KTð ð ð ð ð ð$ð ð ð ð r   