§
    ¡)ýf£  ã                   óÜ  — d dl Z d dlmZmZmZmZmZ d dlmZm	Z	m
Z
 d dlmZmZ d dlmZ  e
dd ed¦  «        ¬	¦  «        e_        d
dœd„Zd„ Z G d„ d¦  «        Z G d„ de¦  «        Z G d„ dee¦  «        Z G d„ dee¦  «        Z G d„ dee¦  «        Z G d„ dee¦  «        Z G d„ dee¦  «        Z G d„ dee¦  «        Z G d„ dee¦  «        Z G d „ d!ee¦  «        Z G d"„ d#ee¦  «        Z G d$„ d%ee¦  «        Z  G d&„ d'ee¦  «        Z! G d(„ d)ee¦  «        Z" G d*„ d+ee¦  «        Z# G d,„ d-ee¦  «        Z$ G d.„ d/ee¦  «        Z% G d0„ d1ee¦  «        Z& G d2„ d3ee¦  «        Z' G d4„ d5ee¦  «        Z( G d6„ d7ee¦  «        Z) G d8„ d9e¦  «        Z* G d:„ d;ee¦  «        Z+ G d<„ d=e¦  «        Z, G d>„ d?ee¦  «        Z- G d@„ dAee¦  «        Z.eeeee$e%e&e'e(e#e)eeeee ee-e.e!e"ee*e+e,fZ/dS )Bé    N)ÚMenuÚOperatorÚOperatorFileListElementÚPanelÚWindowManager)ÚBoolPropertyÚCollectionPropertyÚStringProperty)Úpgettext_rptÚpgettext_data)ÚPresetPanelzPreset NamezName for new presetú
New Preset)ÚnameÚdescriptionÚdefaultz4.2©Ú
deprecatedc                óX  — | €d S t          | d¦  «        rd}nd}t          t          | dd ¦  «        dd ¦  «        }|d|z   k    r||f}n&t          d                     || ¦  «        ¦  «         |f}	  | |Ž  d S # t          $ r)}t          d| t          |¦  «        ¦  «         Y d }~d S d }~ww xY w)	NÚ__self__é   r   Ú__code__Úco_argcounté   zNDeprecated since Blender {:s}, a filepath argument should be included in: {!r}zInternal error running)ÚhasattrÚgetattrÚprintÚformatÚ	ExceptionÚstr)ÚfnÚcontextÚfilepathr   Úargs_offsetÚfn_arg_countÚargsÚexs           úZ/home/blender/git/blender-v430/install_release/4.3/scripts/startup/bl_operators/presets.pyÚ_call_preset_cbr(   $   sê   € à	€zØˆåˆr�:ÑÔð Øˆˆàˆõ �7 2 z°4Ñ8Ô8¸-ÈÑNÔN€LØ�q˜;‘Ò&Ð&Ø˜Ð"ˆˆåÐ^×eÒeÐfpÐrtÑuÔuÑvÔvÐvØˆ{ˆð5Ø
ˆˆDˆ	ˆ	ˆ	ˆ	øÝð 5ð 5ð 5ÝÐ&¨­C°©G¬GÑ4Ô4Ð4Ð4Ð4Ð4Ð4Ð4Ð4øøøøð5øøøs   Á/A6 Á6
B)Â B$Â$B)c                 ó>   — ddl m}m}  || ¦  «        p
 || ¦  «        S )Nr   )Úis_path_builtinÚis_path_extension)Ú	bpy.utilsr*   r+   )Úpathr*   r+   s      r'   Ú_is_path_readonlyr.   <   sM   € ðð ð ð ð ð ð ð ð ˆ?˜4Ñ Ô Ð;Ð$5Ð$5°dÑ$;Ô$;Ð;ó    c                   ó²   — e Zd ZU dZddhZ eddddh¬¦  «        ed	<    ed
ddh¬¦  «        ed<    ed
ddh¬¦  «        ed<   ed„ ¦   «         Z	d„ Z
d„ Zd„ ZdS )ÚAddPresetBasezmBase preset class, only for subclassing
    subclasses must define
     - preset_values
     - preset_subdir ÚREGISTERÚINTERNALÚNamez.Name of the preset, used to make the path nameé@   Ú	SKIP_SAVE)r   r   ÚmaxlenÚoptionsr   FÚHIDDEN©r   r8   Úremove_nameÚremove_activec                 óÒ   — d„ }|                       ¦   «         } t          j                             | ¦  «        }  |¦   «         }|                      |¦  «                              d¦  «        S )Nc                  ó¨   — t           } d}t          | |d ¦  «        }|€5t                               d„ dD ¦   «         ¦  «        }t	          | ||¦  «         |S )NÚ_as_filename_transc                 ó   — i | ]}|d “ŒS )Ú_© )Ú.0Úchars     r'   ú
<dictcomp>zEAddPresetBase.as_filename.<locals>.maketrans_init.<locals>.<dictcomp>m   s   € Ð&\Ð&\Ð&\°T t¨SÐ&\Ð&\Ð&\r/   z !@#$%^&*(){}:";'[]<>,.\/?)r1   r   r   Ú	maketransÚsetattr)ÚclsÚattrÚtranss      r'   Úmaketrans_initz1AddPresetBase.as_filename.<locals>.maketrans_initg   sZ   € ÝˆCØ'ˆDå˜C  tÑ,Ô,ˆEØˆ}ÝŸšÐ&\Ð&\Ð=[Ð&\Ñ&\Ô&\Ñ]Ô]�Ý˜˜T 5Ñ)Ô)Ð)ØˆLr/   rA   )ÚstripÚbpyr-   Údisplay_name_to_filepathÚ	translate)r   rK   rJ   s      r'   Úas_filenamezAddPresetBase.as_filenamec   sb   € ð	ð 	ð 	ð �zŠz‰|Œ|ˆÝŒx×0Ò0°Ñ6Ô6ˆØ�Ñ Ô ˆà�~Š~˜eÑ$Ô$×*Ò*¨3Ñ/Ô/Ð/r/   c                 óN  ‡‡— dd l }t          | d¦  «        r|                      |¦  «         t          t          j        | j        ¦  «        }t          |dd ¦  «        dk    }| j        p| j         }|rd}nd}|r| j	         
                    ¦   «         n| j	        }|�r,|sdhS t          j        j        d         }||j        k    rt          d¦  «        |_        |                      |¦  «        }	|j                             d	| j        ¦  «        }
t          j                             d
|
d¬¦  «        }
|
s|                      dhd¦  «         dhS |j                             |
|	¦  «        |z   }t          | d¦  «        r|                      ||¦  «         �nt/          d                     |¦  «        ¦  «         |r!dd l}|                     |||j        ¦  «         nÍˆˆfd„Št9          |dd¬¦  «        Š‰                     d¦  «         t          | d¦  «        rV| j        D ]9}t?          |¦  «         ‰                     d                     |¦  «        ¦  «         Œ:‰                     d¦  «         | j         D ]}tC          |¦  «        } ‰||d¦  «         Œ‰ "                    ¦   «          t          j         #                    |	¦  «        |_$        �n;| j        r|j$        }t          j         %                    || j        |¬¦  «        }|s(t          j         %                    || j        d|¬¦  «        }|sdhS tM          |¦  «        r|                      dhd¦  «         dhS 	 t          | d¦  «        r|  '                    ||¦  «         n| '                    |¦  «         ni# tP          $ r\}|                      dhtS          d ¦  «                             |¦  «        ¦  «         dd l*}| +                    ¦   «          dhcY d }~S d }~ww xY wd!|_$        tY          t          | d"d ¦  «        ||d#¬$¦  «         dhS )%Nr   Úpre_cbÚpreset_typeÚXMLú.xmlú.pyÚFINISHEDr   ÚpresetsÚSCRIPTST©r-   ÚcreateÚWARNINGzFailed to create presets pathÚ	CANCELLEDÚaddzWriting Preset: {!r}c                 ó¬  •— t          | t          j        j        ¦  «        r[| j        j                             ¦   «         D ]:}|dk    rŒ	t          | |¦  «        } ‰|d                     ||¦  «        |¦  «         Œ;d S t          | ¦  «        j
        dk    r{‰                     d                     |¦  «        ¦  «         | D ]N}‰                     d                     ||¦  «        ¦  «          ‰|d                     |¦  «        |dz   ¦  «         ŒOd S 	 | d d …         } n# t          $ r Y nw xY w‰                     d                     || ¦  «        ¦  «         d S )	NÚrna_typeú	{:s}.{:s}Úbpy_prop_collection_idpropz{:s}.clear()
zitem_sub_{:d} = {:s}.add()
zitem_sub_{:d}r   z{:s} = {!r}
)Ú
isinstancerM   ÚtypesÚPropertyGroupÚbl_rnaÚ
propertiesÚkeysr   r   ÚtypeÚ__name__Úwriter   )ÚvalueÚrna_path_stepÚlevelÚsub_value_attrÚ	sub_valueÚfile_presetÚrna_recursive_attr_expands        €€r'   rr   z8AddPresetBase.execute.<locals>.rna_recursive_attr_expand§   s¢  ø€ Ý% e­S¬YÔ-DÑEÔEð \Ø27´,Ô2I×2NÒ2NÑ2PÔ2Pð "ð " Ø#1°ZÒ#?Ð#?Ø$,Ý,3°E¸>Ñ,JÔ,J 	Ø 9Ð 9Ø$-Ø$/×$6Ò$6°}ÀnÑ$UÔ$UØ$)ñ!"ô !"ð !"ð !"ð	"ð "õ " %™[œ[Ô1Ð5QÒQÐQØ'×-Ò-Ð.>×.EÒ.EÀmÑ.TÔ.TÑUÔUÐUØ-2ð oð o 	Ø +× 1Ò 1Ð2P×2WÒ2WÐX]Ð_lÑ2mÔ2mÑ nÔ nÐ nØ 9Ð 9¸)À_×E[ÒE[Ð\aÑEbÔEbÐdiÐlmÑdmÑ nÔ nÐ nÐ nðoð oð%Ø(-¨a¨a¨a¬  øÝ#,ð %ð %ð %Ø $ ð%øøøð (×-Ò-¨o×.DÒ.DÀ]ÐTYÑ.ZÔ.ZÑ[Ô[Ð[Ð[Ð[s   Ä
D Ä
D(Ä'D(Úwúutf-8©Úencodingzimport bpy
Úpreset_definesz{:s}
ú
r   ©Úext)Údisplay_namerz   z Unable to remove default presetsÚremoveÚERRORzUnable to remove preset: {!r}ÚPresetsÚpost_cbz4.3r   )-Úosr   rR   r   rM   rd   Úpreset_menur;   r<   r   rL   ÚdataÚwindow_managersÚpreset_nameÚdata_rP   r-   ÚjoinÚpreset_subdirÚutilsÚuser_resourceÚreportr^   r   r   Úrna_xmlÚxml_file_writeÚpreset_xml_mapÚopenrk   rw   ÚexecÚpreset_valuesÚevalÚcloser{   Úbl_labelÚpreset_findr.   r|   r   Úrpt_Ú	tracebackÚ	print_excr(   )Úselfr!   r€   Úpreset_menu_classÚis_xmlÚis_preset_addrz   r   ÚwmÚfilenameÚtarget_pathr"   r‹   Úrna_pathrl   r&   r–   rq   rr   s                    @@r'   ÚexecutezAddPresetBase.executew   sŸ  øø€ Øˆ	ˆ	ˆ	å�4˜Ñ"Ô"ð 	!Ø�KŠK˜Ñ Ô Ð å#¥C¤I¨tÔ/?Ñ@Ô@ÐåÐ*¨M¸4Ñ@Ô@ÀEÒIˆØ!Ô-ÐC°Ô1CÐDˆàð 	ØˆCˆCàˆCà$1Ð@ˆtŒy�ŠÑ Ô Ð °t´yˆàñ g	3Øð $Ø"�|Ð#õ ”Ô)¨!Ô,ˆBØ�r”~Ò%Ð%Ý!& |Ñ!4Ô!4�”à×'Ò'¨Ñ-Ô-ˆHàœ'Ÿ,š, y°$Ô2DÑEÔEˆKÝœ)×1Ò1°)À+ÐVZÐ1Ñ[Ô[ˆKàð %Ø—’˜Y˜KÐ)HÑIÔIÐIØ#�}Ð$à”w—|’| K°Ñ:Ô:¸SÑ@ˆHå�t˜UÑ#Ô#ð 1(Ø—’˜ (Ñ+Ô+Ð+Ñ+åÐ,×3Ò3°HÑ=Ô=Ñ>Ô>Ð>àð ,(Ø"�N�N�NØ×*Ò*¨7°HÐ>OÔ>^Ñ_Ô_Ð_Ð_ð\ð \ð \ð \ð \ð \õ4 #' x°¸wÐ"GÑ"GÔ"G�KØ×%Ò% nÑ5Ô5Ð5å˜tÐ%5Ñ6Ô6ð 0Ø(,Ô(;ð Ið I˜HÝ  ™NœN˜NØ'×-Ò-¨h¯oªo¸hÑ.GÔ.GÑHÔHÐHÐHØ#×)Ò)¨$Ñ/Ô/Ð/à$(Ô$6ð Fð F˜Ý $ X¡¤˜Ø1Ð1°%¸À1ÑEÔEÐEÐEà×%Ò%Ñ'Ô'Ð'å),¬×)>Ò)>¸xÑ)HÔ)HÐÔ&Ñ&ð Ô!ð 2Ø(Ô1�õ ”y×,Ò,¨T°4Ô3EÈ3Ð,ÑOÔOˆHàð gÝœ9×0Ò0°°tÔ7IÐX\ÐbeÐ0ÑfÔf�àð %Ø#�}Ð$õ ! Ñ*Ô*ð %Ø—’˜Y˜KÐ)KÑLÔLÐLØ#�}Ð$ð	%Ý˜4 Ñ*Ô*ð (Ø—K’K ¨Ñ2Ô2Ð2Ð2à—I’I˜hÑ'Ô'Ð'øøÝð %ð %ð %Ø—’˜W˜I¥tÐ,KÑ'LÔ'L×'SÒ'SÐTVÑ'WÔ'WÑXÔXÐXØ Ð Ð Ð Ø×#Ò#Ñ%Ô%Ð%Ø#�}Ð$Ð$Ð$Ð$Ð$Ð$øøøøð	%øøøð *3ÐÔ&å�  i°Ñ6Ô6¸ÀÐV[Ð\Ñ\Ô\Ð\àˆ|Ðs   Í<N Î
O8ÎAO3Ï-O8Ï3O8c                 óh   — |                       | j                             ¦   «         ¦  «        | _        d S ©N)rP   r   rL   )r˜   Ú_contexts     r'   ÚcheckzAddPresetBase.checkö   s'   € Ø×$Ò$ T¤Y§_¢_Ñ%6Ô%6Ñ7Ô7ˆŒ	ˆ	ˆ	r/   c                 ó€   — | j         s#| j        s|j        }|                     | ¦  «        S |                      |¦  «        S r¢   )r<   r;   Úwindow_managerÚinvoke_props_dialogr    )r˜   r!   Ú_eventrœ   s       r'   ÚinvokezAddPresetBase.invokeù   sE   € ØÔ"ð 	) dÔ&6ð 	)ØÔ'ˆBØ×)Ò)¨$Ñ/Ô/Ð/à—<’< Ñ(Ô(Ð(r/   N)rj   Ú
__module__Ú__qualname__Ú__doc__Ú
bl_optionsr
   Ú__annotations__r   ÚstaticmethodrP   r    r¤   r©   rB   r/   r'   r1   r1   I   s	  € € € € € € ðð ð ˜jÐ)€Jà
ˆ.ØØDØØ�ð	ñ ô ð ð ñ ð �ØØ˜;Ð'ðñ ô ð ð ñ ð  �<ØØ˜;Ð'ðñ ô ð ð ñ ð
 ð0ð 0ñ „\ð0ð&}ð }ð }ð~8ð 8ð 8ð)ð )ð )ð )ð )r/   r1   c                   óh   — e Zd ZU dZdZdZ eddh¬¦  «        ed<    edd	dh¬
¦  «        ed<   d„ ZdS )ÚExecutePresetzLoad a presetúscript.execute_presetzExecute a Python PresetÚ	FILE_PATHr6   )Úsubtyper8   r"   zMenu ID Namez(ID name of the menu this was called from©r   r   r8   Úmenu_idnamec                 óD  — ddl m}m} | j        }t	          t
          j        | j        ¦  «        }t
          j         	                     ||¦  «        d¬¦  «        |_
         ||¦  «        d                              ¦   «         }|dvr:|                      dht          d¦  «                             |¦  «        ¦  «         d	hS t          t	          |d
d ¦  «        ||¦  «         |dk    r_	 t
          j                             |¦  «         ny# t$          $ r1}|                      dhdt'          |¦  «        z   ¦  «         Y d }~nCd }~ww xY w|dk    r5dd l}|j        }	t	          |dd ¦  «        }
|                     |||	|
¬¦  «         t          t	          |dd ¦  «        ||¦  «         dhS )Nr   )ÚbasenameÚsplitextF)Ú
title_caser   >   rV   rU   r}   zUnknown file type: {!r}r]   Úreset_cbrV   zFailed to execute the preset: rU   Úpreset_xml_secure_types)Úsecure_typesr   rW   )Úos.pathr¸   r¹   r"   r   rM   rd   r¶   r-   r{   r“   ÚlowerrŠ   r•   r   r(   rˆ   Úexecfiler   Úreprr‹   r�   Úxml_file_run)r˜   r!   r¸   r¹   r"   Úpreset_classrz   r&   r‹   r�   r¼   s              r'   r    zExecutePreset.execute  sÍ  € Ø.Ð.Ð.Ð.Ð.Ð.Ð.Ð.Ø”=ˆõ �sœy¨$Ô*:Ñ;Ô;ˆÝ #¤× 5Ò 5°h°h¸xÑ6HÔ6HÐUZÐ 5Ñ [Ô [ˆÔàˆh�xÑ Ô  Ô#×)Ò)Ñ+Ô+ˆà�oÐ%Ð%Ø�KŠK˜˜	¥4Ð(AÑ#BÔ#B×#IÒ#IÈ#Ñ#NÔ#NÑOÔOÐOØ�=Ð å� ¨j¸$Ñ?Ô?ÀÈ(ÑSÔSÐSà�%Š<ˆ<ðTÝ”	×"Ò" 8Ñ,Ô,Ð,Ð,øÝð Tð Tð TØ—’˜W˜IÐ'GÍ$ÈrÉ(Ì(Ñ'RÑSÔSÐSÐSÐSÐSÐSÐSøøøøðTøøøð �FŠ]ˆ]ØˆNˆNˆNØ)Ô8ˆNÝ&-¨lÐ<UÐW[Ñ&\Ô&\Ð#à× Ò  ¨(°NÐQhÐ ÑiÔiÐiå� ¨i¸Ñ>Ô>ÀÈÑRÔRÐRàˆ|Ðs   Ã&D Ä
EÄ'D<Ä<EN)	rj   rª   r«   r¬   Ú	bl_idnamer“   r
   r®   r    rB   r/   r'   r±   r±     s�   € € € € € € ØÐØ'€IØ(€HàˆnØØ�ðñ ô ð ð ñ ð  �ØØ>Ø�ðñ ô ð ð ñ ðð ð ð ð r/   r±   c                   ó0   — e Zd ZdZdZdZdZdgZg d¢ZdZ	dS )	ÚAddPresetRenderzAdd or remove a Render Presetzrender.preset_addzAdd Render PresetÚRENDER_PT_format_presetszscene = bpy.context.scene)zscene.render.fpszscene.render.fps_basezscene.render.pixel_aspect_xzscene.render.pixel_aspect_yz"scene.render.resolution_percentagezscene.render.resolution_xzscene.render.resolution_yÚrenderN©
rj   rª   r«   r¬   rÄ   r“   r�   rw   r�   r‡   rB   r/   r'   rÆ   rÆ   2  sG   € € € € € Ø'Ð'Ø#€IØ"€HØ,€Kð 	$ð€Nðð ð €Mð €M€M€Mr/   rÆ   c                   ód   — e Zd ZU dZdZdZdZdgZdZ e	ddd	h¬
¦  «        e
d<   ed„ ¦   «         ZdS )ÚAddPresetCamerazAdd or remove a Camera Presetzcamera.preset_addúAdd Camera PresetÚCAMERA_PT_presetszcam = bpy.context.cameraÚcameraúInclude Focal Lengthú$Include focal length into the presetr6   rµ   Úuse_focal_lengthc                 óp   — g d¢}| j         r*|                     d¦  «         |                     d¦  «         |S )N)zcam.sensor_widthzcam.sensor_heightzcam.sensor_fitzcam.lenszcam.lens_unit©rÑ   Úappend©r˜   r�   s     r'   r�   zAddPresetCamera.preset_values[  sN   € ð
ð 
ð 
ˆð
 Ô ð 	2Ø× Ò  Ñ,Ô,Ð,Ø× Ò  Ñ1Ô1Ð1ØÐr/   N©rj   rª   r«   r¬   rÄ   r“   r�   rw   r‡   r   r®   Úpropertyr�   rB   r/   r'   rË   rË   I  s‡   € € € € € € Ø'Ð'Ø#€IØ"€HØ%€Kð 	#ð€Nð €Mà"�lØ#Ø:Ø�ðñ ô ð ð ñ ð ð	ð 	ñ „Xð	ð 	ð 	r/   rË   c                   ó0   — e Zd ZdZdZdZdZdgZg d¢ZdZ	dS )	ÚAddPresetCameraSafeAreasz!Add or remove a Safe Areas Presetzcamera.safe_areas_preset_addzAdd Safe Area PresetÚCAMERA_PT_safe_areas_presetsz)safe_areas = bpy.context.scene.safe_areas)zsafe_areas.titlezsafe_areas.actionzsafe_areas.title_centerzsafe_areas.action_centerÚ
safe_areasNrÉ   rB   r/   r'   rÙ   rÙ   h  sG   € € € € € Ø+Ð+Ø.€IØ%€HØ0€Kð 	4ð€Nðð ð €Mð !€M€M€Mr/   rÙ   c                   ó0   — e Zd ZdZdZdZdZdgZg d¢ZdZ	dS )	ÚAddPresetClothzAdd or remove a Cloth Presetzcloth.preset_addzAdd Cloth PresetÚCLOTH_PT_presetszcloth = bpy.context.cloth)zcloth.settings.qualityzcloth.settings.masszcloth.settings.air_dampingzcloth.settings.bending_modelz cloth.settings.tension_stiffnessz$cloth.settings.compression_stiffnesszcloth.settings.shear_stiffnessz cloth.settings.bending_stiffnesszcloth.settings.tension_dampingz"cloth.settings.compression_dampingzcloth.settings.shear_dampingzcloth.settings.bending_dampingÚclothNrÉ   rB   r/   r'   rÝ   rÝ   |  sG   € € € € € Ø&Ð&Ø"€IØ!€HØ$€Kð 	$ð€Nðð ð €Mð €M€M€Mr/   rÝ   c                   ó0   — e Zd ZdZdZdZdZdgZddgZdZ	d	S )
ÚAddPresetFluidzAdd or remove a Fluid Presetzfluid.preset_addzAdd Fluid PresetÚFLUID_PT_presetszfluid = bpy.context.fluidz$fluid.domain_settings.viscosity_basez(fluid.domain_settings.viscosity_exponentÚfluidNrÉ   rB   r/   r'   rá   rá   ˜  sE   € € € € € Ø&Ð&Ø"€IØ!€HØ$€Kð 	$ð€Nð
 	/Ø2ð€Mð
 €M€M€Mr/   rá   c                   ó2   — e Zd ZdZdZdZdZg d¢ZdZg d¢Z	dS )	ÚAddPresetHairDynamicsz$Add or remove a Hair Dynamics Presetz!particle.hair_dynamics_preset_addzAdd Hair Dynamics PresetÚ!PARTICLE_PT_hair_dynamics_presets)z"psys = bpy.context.particle_systemz)cloth = bpy.context.particle_system.clothz5settings = bpy.context.particle_system.cloth.settingsz@collision = bpy.context.particle_system.cloth.collision_settingsÚhair_dynamics)zsettings.qualityzsettings.masszsettings.bending_stiffnesszpsys.settings.bending_randomzsettings.bending_dampingzsettings.air_dampingzsettings.internal_frictionzsettings.density_targetzsettings.density_strengthzsettings.voxel_cell_sizezsettings.pin_stiffnessN)
rj   rª   r«   r¬   rÄ   r“   r�   rw   r‡   r�   rB   r/   r'   rå   rå   ª  sL   € € € € € Ø.Ð.Ø3€IØ)€HØ5€Kðð ð €Nð $€Mðð ð €M€M€Mr/   rå   c                   ó0   — e Zd ZdZdZdZdZdgZddgZdZ	d	S )
ÚAddPresetTextEditorz"Add or remove a Text Editor Presetztext_editor.preset_addzAdd Text Editor PresetÚUSERPREF_PT_text_editor_presetsz-filepaths = bpy.context.preferences.filepathszfilepaths.text_editorzfilepaths.text_editor_argsÚtext_editorNrÉ   rB   r/   r'   ré   ré   È  sE   € € € € € Ø,Ð,Ø(€IØ'€HØ3€Kð 	8ð€Nð
 	 Ø$ð€Mð
 "€M€M€Mr/   ré   c                   óf   — e Zd ZU dZdZdZdZdgZdZ e	ddd	hd
¬¦  «        e
d<   ed„ ¦   «         ZdS )ÚAddPresetTrackingCameraz1Add or remove a Tracking Camera Intrinsics Presetzclip.camera_preset_addrÌ   ÚCLIP_PT_camera_presetsz3camera = bpy.context.edit_movieclip.tracking.cameraÚtracking_camerarÏ   rÐ   r6   T)r   r   r8   r   rÑ   c                 óp   — g d¢}| j         r*|                     d¦  «         |                     d¦  «         |S )N)zcamera.sensor_widthzcamera.pixel_aspectz	camera.k1z	camera.k2z	camera.k3zcamera.unitszcamera.focal_lengthrÓ   rÕ   s     r'   r�   z%AddPresetTrackingCamera.preset_valuesí  sO   € ð
ð 
ð 
ˆð Ô ð 	8Ø× Ò  Ñ0Ô0Ð0Ø× Ò Ð!6Ñ7Ô7Ð7ØÐr/   NrÖ   rB   r/   r'   rí   rí   Ú  sŠ   € € € € € € Ø;Ð;Ø(€IØ"€HØ*€Kð 	>ð€Nð &€Mà"�lØ#Ø:Ø�Øð	ñ ô ð ð ñ ð ðð ñ „Xðð ð r/   rí   c                   ó0   — e Zd ZdZdZdZdZdgZddgZdZ	d	S )
ÚAddPresetTrackingTrackColorz'Add or remove a Clip Track Color Presetzclip.track_color_preset_addzAdd Track Color PresetÚCLIP_PT_track_color_presetsz9track = bpy.context.edit_movieclip.tracking.tracks.activeztrack.colorztrack.use_custom_colorÚtracking_track_colorNrÉ   rB   r/   r'   rò   rò   ü  sF   € € € € € Ø1Ð1Ø-€IØ'€HØ/€Kð 	Dð€Nð
 	Ø ð€Mð
 +€M€M€Mr/   rò   c                   ó0   — e Zd ZdZdZdZdZdgZg d¢ZdZ	dS )	ÚAddPresetTrackingSettingsz/Add or remove a motion tracking settings presetz!clip.tracking_settings_preset_addzAdd Tracking Settings PresetÚ!CLIP_PT_tracking_settings_presetsz7settings = bpy.context.edit_movieclip.tracking.settings)z settings.default_correlation_minzsettings.default_pattern_sizezsettings.default_search_sizezsettings.default_frames_limitzsettings.default_pattern_matchzsettings.default_marginzsettings.default_motion_modelzsettings.use_default_brutez"settings.use_default_normalizationzsettings.use_default_maskz settings.use_default_red_channelz"settings.use_default_green_channelz!settings.use_default_blue_channelzsettings.default_weightÚtracking_settingsNrÉ   rB   r/   r'   rö   rö     sH   € € € € € Ø9Ð9Ø3€IØ-€HØ5€Kð 	Bð€Nðð ð €Mð" (€M€M€Mr/   rö   c                   ó2   — e Zd ZdZdZdZdZddgZg d¢ZdZ	d	S )
ÚAddPresetEEVEERaytracingz)Add or remove an EEVEE ray-tracing presetz"render.eevee_raytracing_preset_addzAdd Raytracing PresetÚ'RENDER_PT_eevee_next_raytracing_presetszeevee = bpy.context.scene.eeveez#options = eevee.ray_tracing_options)zeevee.ray_tracing_methodzoptions.resolution_scalezoptions.trace_max_roughnesszoptions.screen_trace_qualityzoptions.screen_trace_thicknesszoptions.use_denoisezoptions.denoise_spatialzoptions.denoise_temporalzoptions.denoise_bilateralzeevee.fast_gi_methodzeevee.fast_gi_resolutionzeevee.fast_gi_ray_countzeevee.fast_gi_step_countzeevee.fast_gi_qualityzeevee.fast_gi_distancezeevee.fast_gi_thickness_nearzeevee.fast_gi_thickness_farzeevee.fast_gi_biaszeevee/raytracingNrÉ   rB   r/   r'   rú   rú   ,  sJ   € € € € € Ø3Ð3Ø4€IØ&€HØ;€Kð 	*Ø-ð€Nð
ð ð €Mð* '€M€M€Mr/   rú   c                   ó0   — e Zd ZdZdZdZdZdgZddgZdZ	d	S )
Ú$AddPresetColorManagementWhiteBalancez$Add or remove a white balance presetz0render.color_management_white_balance_preset_addzAdd White Balance PresetÚ0RENDER_PT_color_management_white_balance_presetsz/view_settings = bpy.context.scene.view_settingsz'view_settings.white_balance_temperaturez view_settings.white_balance_tintzcolor_management/white_balanceNrÉ   rB   r/   r'   rý   rý   O  sE   € € € € € Ø.Ð.ØB€IØ)€HØD€Kð 	:ð€Nð
 	2Ø*ð€Mð
 5€M€M€Mr/   rý   c                   ó0   — e Zd ZdZdZdZdZdgZddgZdZ	d	S )
ÚAddPresetNodeColorz!Add or remove a Node Color Presetznode.node_color_preset_addzAdd Node Color PresetÚNODE_PT_node_color_presetsznode = bpy.context.active_nodez
node.colorznode.use_custom_colorÚ
node_colorNrÉ   rB   r/   r'   r   r   a  sE   € € € € € Ø+Ð+Ø,€IØ&€HØ.€Kð 	)ð€Nð
 	Øð€Mð
 !€M€M€Mr/   r   c                   ó(   — e Zd ZdZdZdZdZdZd„ ZdS )ÚAddPresetInterfaceThemez%Add a custom theme to the preset listzwm.interface_theme_preset_addz	Add ThemeÚ#USERPREF_MT_interface_theme_presetsÚinterface_themec                 ó4   — ||j         j        d         _        d S )Nr   )ÚpreferencesÚthemesr"   )r˜   r!   r"   s      r'   r   zAddPresetInterfaceTheme.post_cbz  s   € ð 2:ˆÔÔ" 1Ô%Ô.Ð.Ð.r/   N)	rj   rª   r«   r¬   rÄ   r“   r�   r‡   r   rB   r/   r'   r  r  s  s=   € € € € € Ø/Ð/Ø/€IØ€HØ7€KØ%€Mð:ð :ð :ð :ð :r/   r  c                   óT   — e Zd ZU dZdZdZdZdZ edddh¬	¦  «        e	d
<   d„ Z
d„ ZdS )ÚRemovePresetInterfaceThemez*Remove a custom theme from the preset listz wm.interface_theme_preset_removezRemove Themer  r  Tr9   r6   r:   r<   c                 óÂ   — |j         j        d         j        }|rt          |¦  «        r|                      dhd¦  «         dhS |j                             | |dd¬¦  «        S )Nr   r}   z!Built-in themes cannot be removedr]   zRemove Custom ThemeÚDelete©ÚtitleÚconfirm_text©r  r	  r"   r.   rŠ   r¦   Úinvoke_confirm©r˜   r!   Úeventr"   s       r'   r©   z!RemovePresetInterfaceTheme.invoke�  sn   € ØÔ&Ô-¨aÔ0Ô9ˆØð 	!Õ.¨xÑ8Ô8ð 	!Ø�KŠK˜˜	Ð#FÑGÔGÐGØ�=Ð àÔ%×4Ò4°T¸5ÐH]ÐltÐ4ÑuÔuÐur/   c                 óL   — t           j        j                             ¦   «          d S r¢   )rM   Úopsr  Úreset_default_theme)r˜   r!   Ú	_filepaths      r'   r   z"RemovePresetInterfaceTheme.post_cb—  s!   € õ 	ŒÔ×/Ò/Ñ1Ô1Ð1Ð1Ð1r/   N)rj   rª   r«   r¬   rÄ   r“   r�   r‡   r   r®   r©   r   rB   r/   r'   r  r  €  s   € € € € € € Ø4Ð4Ø2€IØ€HØ7€KØ%€Mà�<ØØ˜;Ð'ðñ ô ð ð ñ ðvð vð vð2ð 2ð 2ð 2ð 2r/   r  c                   óT   — e Zd ZU dZdZdZdZdZ edddh¬	¦  «        e	d
<   d„ Z
d„ ZdS )ÚSavePresetInterfaceThemez&Save a custom theme in the preset listzwm.interface_theme_preset_savez
Save Themer  r  Tr9   r6   r:   r<   c           	      ó  — dd l }|j        j        d         j        }|rt	          |¦  «        r|                      dhd¦  «         dhS t          t          j        | j	        ¦  «        }	 | 
                    |||j        ¦  «         ni# t          $ r\}|                      dhd                     t          |¦  «        ¦  «        ¦  «         dd l}|                     ¦   «          dhcY d }~S d }~ww xY w||j        j        d         _        dhS )Nr   r}   ú%Built-in themes cannot be overwrittenr]   z Unable to overwrite preset: {:s}rW   )r‹   r  r	  r"   r.   rŠ   r   rM   rd   r�   rŒ   r�   r   r   r   r–   r—   )r˜   r!   r‹   r"   r™   r&   r–   s          r'   r    z SavePresetInterfaceTheme.execute¬  s+  € ØˆˆˆØÔ&Ô-¨aÔ0Ô9ˆØð 	!Õ.¨xÑ8Ô8ð 	!Ø�KŠK˜˜	Ð#JÑKÔKÐKØ�=Ð å#¥C¤I¨tÔ/?Ñ@Ô@Ðð	!Ø×"Ò" 7¨HÐ6GÔ6VÑWÔWÐWÐWøÝð 	!ð 	!ð 	!Ø�KŠK˜˜	Ð#E×#LÒ#LÍSÐQSÉWÌWÑ#UÔ#UÑVÔVÐVØÐÐÐØ×ÒÑ!Ô!Ð!Ø�=Ð Ð Ð Ð Ð Ð øøøøð		!øøøð 2:ˆÔÔ" 1Ô%Ô.àˆ|Ðs   Á'B Â
C*ÂAC%ÃC*Ã%C*c                 óÂ   — |j         j        d         j        }|rt          |¦  «        r|                      dhd¦  «         dhS |j                             | |dd¬¦  «        S )Nr   r}   r  r]   zOverwrite Custom Theme?ÚSaver  r  r  s       r'   r©   zSavePresetInterfaceTheme.invokeÀ  sn   € ØÔ&Ô-¨aÔ0Ô9ˆØð 	!Õ.¨xÑ8Ô8ð 	!Ø�KŠK˜˜	Ð#JÑKÔKÐKØ�=Ð àÔ%×4Ò4°T¸5ÐHaÐpvÐ4ÑwÔwÐwr/   N)rj   rª   r«   r¬   rÄ   r“   r�   r‡   r   r®   r    r©   rB   r/   r'   r  r  �  s�   € € € € € € Ø0Ð0Ø0€IØ€HØ7€KØ%€Mà�<ØØ˜;Ð'ðñ ô ð ð ñ ðð ð ð(xð xð xð xð xr/   r  c                   ó(   — e Zd ZdZdZdZdZdZd„ ZdS )ÚAddPresetKeyconfigz4Add a custom keymap configuration to the preset listzwm.keyconfig_preset_addzAdd Custom Keymap ConfigurationÚUSERPREF_MT_keyconfigsÚ	keyconfigc                 óŽ   — t           j        j                             |¬¦  «         t           j                             |¦  «         d S )N)r"   )rM   r  r  Úkeyconfig_exportrˆ   Úkeyconfig_set)r˜   r£   r"   s      r'   r^   zAddPresetKeyconfig.addÐ  s:   € ÝŒÔ×,Ò,°hÐ,Ñ?Ô?Ð?ÝŒ	×Ò Ñ)Ô)Ð)Ð)Ð)r/   N)	rj   rª   r«   r¬   rÄ   r“   r�   r‡   r^   rB   r/   r'   r   r   É  s=   € € € € € Ø>Ð>Ø)€IØ0€HØ*€KØ€Mð*ð *ð *ð *ð *r/   r   c                   óZ   — e Zd ZU dZdZdZdZdZ edddh¬	¦  «        e	d
<   d„ Z
d„ Zd„ ZdS )ÚRemovePresetKeyconfigz9Remove a custom keymap configuration from the preset listzwm.keyconfig_preset_removeúRemove Keymap Configurationr!  r"  Tr9   r6   r:   r<   c                 ó’   — t           j        j        j        }t	          t           j        | j        ¦  «        }|j        j        |_	        d S r¢   )
rM   r!   r¦   Ú
keyconfigsr   rd   r�   Úactiver   r“   )r˜   r!   r*  r™   s       r'   rR   zRemovePresetKeyconfig.pre_cbä  s9   € Ý”[Ô/Ô:ˆ
Ý#¥C¤I¨tÔ/?Ñ@Ô@ÐØ%/Ô%6Ô%;ÐÔ"Ð"Ð"r/   c                 óf   — t           j        j        j        }|                     |j        ¦  «         d S r¢   )rM   r!   r¦   r*  r|   r+  )r˜   r!   r  r*  s       r'   r   zRemovePresetKeyconfig.post_cbé  s,   € Ý”[Ô/Ô:ˆ
Ø×Ò˜*Ô+Ñ,Ô,Ð,Ð,Ð,r/   c                 ó&  — t           j        j        j        }|j        j        }t           j                             || j        d¬¦  «        }|rt          |¦  «        r|  
                    dhd¦  «         dhS |j                             | |dd¬¦  «        S )	NrV   ry   r}   z0Built-in keymap configurations cannot be removedr]   r(  r  r  )rM   r!   r¦   r*  r+  r   rˆ   r”   r‡   r.   rŠ   r  )r˜   r!   r  r*  r   r"   s         r'   r©   zRemovePresetKeyconfig.invokeí  s�   € Ý”[Ô/Ô:ˆ
ØÔ Ô%ˆÝ”9×(Ò(¨¨tÔ/AÀuÐ(ÑMÔMˆØð 	!Õ.¨xÑ8Ô8ð 	!Ø�KŠK˜˜	Ð#UÑVÔVÐVØ�=Ð àÔ%×4Ò4Ø�%Ð<È8ð 5ñ Uô Uð 	Ur/   N)rj   rª   r«   r¬   rÄ   r“   r�   r‡   r   r®   rR   r   r©   rB   r/   r'   r'  r'  Õ  s�   € € € € € € ØCÐCØ,€IØ,€HØ*€KØ€Mà�<ØØ˜;Ð'ðñ ô ð ð ñ ð<ð <ð <ð
-ð -ð -ð	Uð 	Uð 	Uð 	Uð 	Ur/   r'  c                   óŽ   — e Zd ZU dZdZdZdZ eddddh¬	¦  «        ed
<   dgZ	e
d„ ¦   «         Ze
d„ ¦   «         Zed„ ¦   «         ZdS )ÚAddPresetOperatorz Add or remove an Operator Presetúwm.operator_preset_addzOperator PresetÚWM_MT_operator_presetsr   r5   r9   r6   )r   r7   r8   Úoperatorz op = bpy.context.active_operatorc                 ó@   — t                                | j        ¦  «        S r¢   ©r/  Úoperator_pathr2  ©r˜   s    r'   r‡   zAddPresetOperator.preset_subdir	  ó   € å ×.Ò.¨t¬}Ñ=Ô=Ð=r/   c                 óÎ  — t           j        j                             ¦   «         }| j                             dd¦  «        \  }}t          t          t          j        | 	                    ¦   «         ¦  «        |¦  «        }| 
                    ¦   «         }~g }|j                             ¦   «         D ]8\  }}|j        s,||vr(|                     d                     |¦  «        ¦  «         Œ9|S )NÚ_OT_r   zop.{:s})r   rf   rg   rh   r2  Úsplitr   rM   r  r¿   Úget_rna_typeÚitemsÚis_skip_presetrÔ   r   )	r˜   Úproperties_blacklistÚprefixÚsuffixÚopÚoperator_rnaÚretÚprop_idÚprops	            r'   r�   zAddPresetOperator.preset_values  sÍ   € å'œÔ9×>Ò>Ñ@Ô@Ðàœ×,Ò,¨V°QÑ7Ô7‰ˆ�Ý•W�SœW f§l¢l¡n¤nÑ5Ô5°vÑ>Ô>ˆØ—’Ñ(Ô(ˆØàˆØ)Ô4×:Ò:Ñ<Ô<ð 	:ð 	:‰MˆG�TØÔ&ð :ØÐ"6Ð6Ð6Ø—J’J˜y×/Ò/°Ñ8Ô8Ñ9Ô9Ð9øàˆ
r/   c                 ó¾   — dd l }|                      dd¦  «        \  }}|j                             dd                     |                     ¦   «         |¦  «        ¦  «        S )Nr   r9  r   r2  ra   )r€   r:  r-   r†   r   r¿   )r2  r€   r?  r@  s       r'   r5  zAddPresetOperator.operator_path  sP   € àˆ	ˆ	ˆ	Ø!Ÿš¨°Ñ2Ô2‰ˆ�ØŒw�|Š|˜J¨×(:Ò(:¸6¿<º<¹>¼>È6Ñ(RÔ(RÑSÔSÐSr/   N)rj   rª   r«   r¬   rÄ   r“   r�   r
   r®   rw   r×   r‡   r�   r¯   r5  rB   r/   r'   r/  r/  ù  s¾   € € € € € € Ø*Ð*Ø(€IØ €HØ*€KàˆnØØØ˜;Ð'ðñ ô ð ð ñ ð 	+ð€Nð ð>ð >ñ „Xð>ð ðð ñ „Xðð  ðTð Tñ „\ðTð Tð Tr/   r/  c                   ó2   — e Zd ZdZd„ Zed„ ¦   «         ZdZdS )r1  úOperator Presetsc                 ó²   — |j         j        | _        | j        }|                     d¦  «         |                     ¦   «          t          j        | |¦  «         d S )Nzwm.operator_defaults)Úactive_operatorrÄ   r2  ÚlayoutÚ	separatorr   Údraw_preset)r˜   r!   rK  s      r'   ÚdrawzWM_MT_operator_presets.draw(  sV   € ØÔ/Ô9ˆŒð ”ˆØ�ŠÐ.Ñ/Ô/Ð/Ø×ÒÑÔÐåÔ˜˜wÑ'Ô'Ð'Ð'Ð'r/   c                 ó@   — t                                | j        ¦  «        S r¢   r4  r6  s    r'   r‡   z$WM_MT_operator_presets.preset_subdir2  r7  r/   r²   N)rj   rª   r«   r“   rN  r×   r‡   Úpreset_operatorrB   r/   r'   r1  r1  %  sD   € € € € € Ø!€Hð(ð (ð (ð ð>ð >ñ „Xð>ð .€O€O€Or/   r1  c                   óL   — e Zd ZdZdZdZed„ ¦   «         Zed„ ¦   «         Zd„ Z	dS )ÚWM_PT_operator_presetsrH  r0  r²   c                 ó@   — t                                | j        ¦  «        S r¢   r4  r6  s    r'   r‡   z$WM_PT_operator_presets.preset_subdir>  r7  r/   c                 ó   — d| j         iS )Nr2  )r2  r6  s    r'   Úpreset_add_operator_propertiesz5WM_PT_operator_presets.preset_add_operator_propertiesB  s   € à˜DœMÐ*Ð*r/   c                 óR   — |j         j        | _        t          j        | |¦  «         d S r¢   )rJ  rÄ   r2  r   rN  )r˜   r!   s     r'   rN  zWM_PT_operator_presets.drawF  s(   € ØÔ/Ô9ˆŒÝÔ˜˜wÑ'Ô'Ð'Ð'Ð'r/   N)
rj   rª   r«   r“   Úpreset_add_operatorrP  r×   r‡   rU  rN  rB   r/   r'   rR  rR  9  sg   € € € € € Ø!€HØ2ÐØ-€Oàð>ð >ñ „Xð>ð ð+ð +ñ „Xð+ð(ð (ð (ð (ð (r/   rR  c                   ól   — e Zd ZU dZdZdZ ed¬¦  «        ed<    ede	¬¦  «        ed<   d„ Z
d	„ Zd
„ ZdS )ÚWM_OT_operator_presets_cleanupzHRemove outdated operator properties from presets that may cause problemszwm.operator_presets_cleanupzClean Up Operator Presetsr2  )r   rg   )r   ri   c                 óž  ‡‡— dd l }dd lŠ|j                             |¦  «        r6|j                             |¦  «        d                              ¦   «         dk    sd S t          |dd¬¦  «        5 }|                     ¦   «                              d¦  «        }d d d ¦  «         n# 1 swxY w Y   |sd S ‰ 	                    dd	 
                    ˆfd
„|D ¦   «         ¦  «        z   dz   ¦  «        Šˆfd„|D ¦   «         }t          |dd¬¦  «        5 }|                     d 
                    |¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r   rV   Úrrt   ru   Tú(ú|c                 ó@   •— g | ]}‰                      d |z   ¦  «        ‘ŒS )zop.)Úescape)rC   rE  Úres     €r'   ú
<listcomp>zBWM_OT_operator_presets_cleanup._cleanup_preset.<locals>.<listcomp>]  s)   ø€ Ð2jÐ2jÐ2jÈt°2·9²9¸UÀT¹\Ñ3JÔ3JÐ2jÐ2jÐ2jr/   z)\bc                 ó>   •— g | ]}‰                      |¦  «        °|‘ŒS rB   )Úmatch)rC   ÚlineÚregex_excludes     €r'   ra  zBWM_OT_operator_presets_cleanup._cleanup_preset.<locals>.<listcomp>^  s,   ø€ ÐIÐIÐI˜$¨}×/BÒ/BÀ4Ñ/HÔ/HÐI�ÐIÐIÐIr/   rs   Ú )r€   r`  r-   Úisfiler¹   r¿   rŽ   ÚreadÚ
splitlinesÚcompiler†   rk   )r˜   r"   Úproperties_excluder€   ÚfhÚlinesr`  re  s         @@r'   Ú_cleanup_presetz.WM_OT_operator_presets_cleanup._cleanup_presetT  sÕ  øø€ Øˆ	ˆ	ˆ	Øˆ	ˆ	ˆ	Ø”—’˜xÑ(Ô(ð 	¨R¬W×-=Ò-=¸hÑ-GÔ-GÈÔ-J×-PÒ-PÑ-RÔ-RÐV[Ò-[Ð-[ØˆFÝ�(˜C¨'Ð2Ñ2Ô2ð 	/°bØ—G’G‘I”I×(Ò(¨Ñ.Ô.ˆEð	/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/àð 	ØˆFØŸ
š
 3¨¯ªÐ2jÐ2jÐ2jÐ2jÐWiÐ2jÑ2jÔ2jÑ)kÔ)kÑ#kÐntÑ#tÑuÔuˆØIÐIÐIÐI %ÐIÑIÔIˆÝ�(˜C¨'Ð2Ñ2Ô2ð 	%°bØ�HŠH�R—W’W˜U‘^”^Ñ$Ô$Ð$ð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%ð 	%ð 	%s$   Á/(B#Â#B'Â*B'Ä)EÅEÅ	Ec                 ó’  — dd l }t          j                             ddd¬¦  «        }|sd S |D ]™}t                               |¦  «        }|j                             ||¦  «        }|j                             |¦  «        sŒR| 	                    |¦  «        D ]1}|  
                    |j                             ||¦  «        |¦  «         Œ2Œšd S )Nr   rY   rX   FrZ   )r€   rM   rˆ   r‰   r/  r5  r-   r†   ÚisdirÚlistdirrn  )	r˜   Ú	operatorsrk  r€   Úbase_preset_directoryr2  r5  Ú	directoryr�   s	            r'   Ú_cleanup_operators_presetsz9WM_OT_operator_presets_cleanup._cleanup_operators_presetsb  sâ   € Øˆ	ˆ	ˆ	Ý #¤	× 7Ò 7¸	È	ÐZ_Ð 7Ñ `Ô `ÐØ$ð 	ØˆFØ!ð 	\ð 	\ˆHÝ-×;Ò;¸HÑEÔEˆMØœŸšÐ%:¸MÑJÔJˆIà”7—=’= Ñ+Ô+ð ØØŸJšJ yÑ1Ô1ð \ð \�Ø×$Ò$ R¤W§\¢\°)¸XÑ%FÔ%FÐHZÑ[Ô[Ð[Ð[ð\ð	\ð 	\r/   c                 óØ   — g }g }| j         r?|                     | j         ¦  «         | j        D ]}|                     |j        ¦  «         Œng d¢}g d¢}|                      ||¦  «         dhS )N)ÚWM_OT_alembic_exportÚWM_OT_alembic_importÚWM_OT_collada_exportÚWM_OT_collada_importÚWM_OT_gpencil_export_svgÚWM_OT_gpencil_export_pdfÚWM_OT_gpencil_import_svgÚWM_OT_obj_exportÚWM_OT_obj_importÚWM_OT_ply_exportÚWM_OT_ply_importÚWM_OT_stl_exportÚWM_OT_stl_importÚWM_OT_usd_exportÚWM_OT_usd_import)r"   rt  Úfilesr�   rW   )r2  rÔ   rg   r   ru  )r˜   r!   rk  rr  rE  s        r'   r    z&WM_OT_operator_presets_cleanup.executep  s    € ØÐØˆ	ØŒ=ð 	Ø×Ò˜Tœ]Ñ+Ô+Ð+Øœð 5ð 5�Ø"×)Ò)¨$¬)Ñ4Ô4Ð4Ð4ð5ðð ð ˆIð""ð "ð "Ðð 	×'Ò'¨	Ð3EÑFÔFÐFØˆ|Ðr/   N)rj   rª   r«   r¬   rÄ   r“   r
   r®   r	   r   rn  ru  r    rB   r/   r'   rY  rY  K  sŒ   € € € € € € ØRÐRà-€IØ*€Hàˆn *Ð-Ñ-Ô-Ð-Ð-Ñ-Ø"Ð"¨Ð;RÐSÑSÔSÐSÐSÑSð%ð %ð %ð\ð \ð \ð"ð "ð "ð "ð "r/   rY  c                   ó2   — e Zd ZdZdZdZdZddgZg d¢ZdZ	d	S )
ÚAddPresetGpencilBrushz(Add or remove grease pencil brush presetzscene.gpencil_brush_preset_addzAdd Grease Pencil Brush PresetÚVIEW3D_PT_gpencil_brush_presetsz5brush = bpy.context.tool_settings.gpencil_paint.brushz!settings = brush.gpencil_settings)zsettings.input_sampleszsettings.active_smooth_factorzsettings.anglezsettings.angle_factorz settings.use_settings_stabilizerzbrush.smooth_stroke_radiuszbrush.smooth_stroke_factorzsettings.pen_smooth_factorzsettings.pen_smooth_stepszsettings.pen_subdivision_stepszsettings.use_settings_randomzsettings.random_pressurezsettings.random_strengthzsettings.uv_randomzsettings.pen_jitterzsettings.use_jitter_pressurezsettings.use_trimÚgpencil_brushNrÉ   rB   r/   r'   rˆ  rˆ  •  sK   € € € € € Ø2Ð2Ø0€IØ/€HØ3€Kð 	@Ø+ð€Nð
ð ð €Mð( $€M€M€Mr/   rˆ  c                   ó2   — e Zd ZdZdZdZdZddgZg d¢ZdZ	d	S )
ÚAddPresetGpencilMaterialz+Add or remove grease pencil material presetz!scene.gpencil_material_preset_addz!Add Grease Pencil Material PresetÚ$MATERIAL_PT_gpencil_material_presetsz-material = bpy.context.object.active_materialz gpcolor = material.grease_pencil)zgpcolor.modezgpcolor.stroke_stylezgpcolor.colorzgpcolor.stroke_imagezgpcolor.pixel_sizezgpcolor.mix_stroke_factorzgpcolor.alignment_modezgpcolor.alignment_rotationzgpcolor.fill_stylezgpcolor.fill_colorzgpcolor.fill_imagezgpcolor.gradient_typezgpcolor.mix_colorúgpcolor.mix_factorzgpcolor.flipzgpcolor.texture_offsetzgpcolor.texture_scalezgpcolor.texture_anglezgpcolor.texture_clamprŽ  zgpcolor.show_strokezgpcolor.show_fillÚgpencil_materialNrÉ   rB   r/   r'   rŒ  rŒ  ·  sJ   € € € € € Ø5Ð5Ø3€IØ2€HØ8€Kð 	8Ø*ð€Nð
ð ð €Mð2 '€M€M€Mr/   rŒ  )0rM   Ú	bpy.typesr   r   r   r   r   Ú	bpy.propsr   r	   r
   Úbpy.app.translationsr   r•   r   r…   Úbl_ui.utilsr   r„   r(   r.   r1   r±   rÆ   rË   rÙ   rÝ   rá   rå   ré   rí   rò   rö   rú   rý   r   r  r  r  r   r'  r/  r1  rR  rY  rˆ  rŒ  ÚclassesrB   r/   r'   ú<module>r•     s  ðð
 €
€
€
ðð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð
ð ð ð ð ð ð ð ð $Ð #Ð #Ð #Ð #Ð #ð +˜NØ	Ø%ØˆE�,ÑÔðñ ô €Ô ð :?ð 5ð 5ð 5ð 5ð 5ð0<ð <ð <ðu)ð u)ð u)ð u)ð u)ñ u)ô u)ð u)ðp.ð .ð .ð .ð .�Hñ .ô .ð .ðbð ð ð ð �m Xñ ô ð ð.ð ð ð ð �m Xñ ô ð ð>!ð !ð !ð !ð !˜}¨hñ !ô !ð !ð(ð ð ð ð �] Hñ ô ð ð8ð ð ð ð �] Hñ ô ð ð$ð ð ð ð ˜M¨8ñ ô ð ð<"ð "ð "ð "ð "˜-¨ñ "ô "ð "ð$ð ð ð ð ˜m¨Xñ ô ð ðD+ð +ð +ð +ð + -°ñ +ô +ð +ð$(ð (ð (ð (ð ( ¨xñ (ô (ð (ð< 'ð  'ð  'ð  'ð  '˜}¨hñ  'ô  'ð  'ðF5ð 5ð 5ð 5ð 5¨=¸(ñ 5ô 5ð 5ð$!ð !ð !ð !ð !˜¨ñ !ô !ð !ð$
:ð 
:ð 
:ð 
:ð 
:˜m¨Xñ 
:ô 
:ð 
:ð2ð 2ð 2ð 2ð 2 °ñ 2ô 2ð 2ð:)xð )xð )xð )xð )x˜}¨hñ )xô )xð )xðX	*ð 	*ð 	*ð 	*ð 	*˜¨ñ 	*ô 	*ð 	*ð!Uð !Uð !Uð !Uð !U˜M¨8ñ !Uô !Uð !UðH)Tð )Tð )Tð )Tð )T˜ xñ )Tô )Tð )TðX.ð .ð .ð .ð .˜Tñ .ô .ð .ð((ð (ð (ð (ð (˜[¨%ñ (ô (ð (ð$Gð Gð Gð Gð G Xñ Gô Gð GðT$ð $ð $ð $ð $˜M¨8ñ $ô $ð $ðD$'ð $'ð $'ð $'ð $'˜}¨hñ $'ô $'ð $'ðP ØØØØØØØØØØØØØØØØØØØØ(ØØØØ"ð3€€€r/   