§
    ¡)ýfì[  ã                   ó,  — d Z ddlZddlZddlmZ dZdZdZdZdZ	d	Z
d
ZdZ G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d „ d!e¦  «        Z G d"„ d#e¦  «        Z G d$„ d%e¦  «        Z G d&„ d'e¦  «        Z G d(„ d)e¦  «        Z G d*„ d+e¦  «        Z G d,„ d-e¦  «        Z G d.„ d/¦  «        Z G d0„ d1ee¦  «        Z G d2„ d3ee¦  «        Z  G d4„ d5e¦  «        Z! G d6„ d7e¦  «        Z" G d8„ d9e¦  «        Z#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:„ Z%d;„ Z&e'd<k    r e%¦   «          dS dS )=aÙ  
Built-In Keying Sets
None of these Keying Sets should be removed, as these are needed by various parts of Blender in order for them
to work correctly.

Beware also about changing the order that these are defined here, since this can result in old files referring to the
wrong Keying Set as the active one, potentially resulting in lost (i.e. unkeyed) animation.

Note that these classes cannot be subclassed further; only direct subclasses of KeyingSetInfo
are supported.
é    N)ÚKeyingSetInfoÚLocationÚRotationÚScalingÚLocRotScaleÚLocRotScaleCPropÚ	AvailableÚWholeCharacterÚWholeCharacterSelectedc                   óD   — e Zd ZdZeZdZej        Z	ej
        Zej        ZdS )ÚBUILTIN_KSI_Locationz2Insert a keyframe on each of the location channelsr   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚANIM_KS_LOCATION_IDÚ	bl_idnameÚbl_labelÚkeyingsets_utilsÚRKS_POLL_selected_itemsÚpollÚRKS_ITER_selected_itemÚiteratorÚRKS_GEN_locationÚgenerate© ó    úY/home/blender/git/blender-v430/install_release/4.3/scripts/startup/keyingsets_builtins.pyr   r   &   ó<   € € € € € Ø<Ð<Ø#€IØ€Hð Ô3€Dð  Ô6€Hð  Ô0€H€H€Hr   r   c                   óD   — e Zd ZdZeZdZej        Z	ej
        Zej        ZdS )ÚBUILTIN_KSI_Rotationz2Insert a keyframe on each of the rotation channelsr   N)r   r   r   r   ÚANIM_KS_ROTATION_IDr   r   r   r   r   r   r   ÚRKS_GEN_rotationr   r   r   r   r!   r!   6   r   r   r!   c                   óD   — e Zd ZdZeZdZej        Z	ej
        Zej        ZdS )ÚBUILTIN_KSI_Scalingz/Insert a keyframe on each of the scale channelsÚScaleN)r   r   r   r   ÚANIM_KS_SCALING_IDr   r   r   r   r   r   r   ÚRKS_GEN_scalingr   r   r   r   r%   r%   F   s<   € € € € € Ø9Ð9Ø"€IØ€Hð Ô3€Dð  Ô6€Hð  Ô/€H€H€Hr   r%   c                   ó8   — e Zd ZdZdZej        Zej        Z	d„ Z
dS )ÚBUILTIN_KSI_LocRotz?Insert a keyframe on each of the location and rotation channelszLocation & Rotationc                 ób   — t          j        | |||¦  «         t          j        | |||¦  «         d S ©N©r   r   r#   ©ÚselfÚcontextÚksÚdatas       r   r   zBUILTIN_KSI_LocRot.generatec   ó6   € åÔ)¨$°¸¸TÑBÔBÐBåÔ)¨$°¸¸TÑBÔBÐBÐBÐBr   N©r   r   r   r   r   r   r   r   r   r   r   r   r   r   r*   r*   X   sG   € € € € € ØIÐIØ$€Hð Ô3€Dð  Ô6€HðCð Cð Cð Cð Cr   r*   c                   ó8   — e Zd ZdZdZej        Zej        Z	d„ Z
dS )ÚBUILTIN_KSI_LocScalez<Insert a keyframe on each of the location and scale channelszLocation & Scalec                 ób   — t          j        | |||¦  «         t          j        | |||¦  «         d S r,   ©r   r   r(   r.   s       r   r   zBUILTIN_KSI_LocScale.generatev   ó6   € åÔ)¨$°¸¸TÑBÔBÐBåÔ(¨¨w¸¸DÑAÔAÐAÐAÐAr   Nr4   r   r   r   r6   r6   k   óG   € € € € € ØFÐFØ!€Hð Ô3€Dð  Ô6€HðBð Bð Bð Bð Br   r6   c                   ó<   — e Zd ZdZeZdZej        Z	ej
        Zd„ ZdS )ÚBUILTIN_KSI_LocRotScalezGInsert a keyframe on each of the location, rotation, and scale channelszLocation, Rotation & Scalec                 ó�   — t          j        | |||¦  «         t          j        | |||¦  «         t          j        | |||¦  «         d S r,   ©r   r   r#   r(   r.   s       r   r   z BUILTIN_KSI_LocRotScale.generateŠ   óM   € åÔ)¨$°¸¸TÑBÔBÐBåÔ)¨$°¸¸TÑBÔBÐBåÔ(¨¨w¸¸DÑAÔAÐAÐAÐAr   N)r   r   r   r   ÚANIM_KS_LOC_ROT_SCALE_IDr   r   r   r   r   r   r   r   r   r   r   r<   r<   ~   sL   € € € € € ØQÐQØ(€IØ+€Hð Ô3€Dð  Ô6€HðBð Bð Bð Bð Br   r<   c                   ó<   — e Zd ZdZeZdZej        Z	ej
        Zd„ ZdS )ÚBUILTIN_KSI_LocRotScaleCPropz8Key location/rotation/scale as well as custom propertiesz-Location, Rotation, Scale & Custom Propertiesc                 ó¾   — t          j        | |||¦  «         t          j        | |||¦  «         t          j        | |||¦  «         t          j        | |||¦  «         d S r,   )r   r   r#   r(   ÚRKS_GEN_custom_propsr.   s       r   r   z%BUILTIN_KSI_LocRotScaleCProp.generateœ   sd   € ÝÔ)¨$°¸¸TÑBÔBÐBÝÔ)¨$°¸¸TÑBÔBÐBÝÔ(¨¨w¸¸DÑAÔAÐAÝÔ-¨d°G¸RÀÑFÔFÐFÐFÐFr   N)r   r   r   r   ÚANIM_KS_LOC_ROT_SCALE_CPROP_IDr   r   r   r   r   r   r   r   r   r   r   rB   rB   ”   sH   € € € € € ØBÐBØ.€IØ>€HàÔ3€DØÔ6€HðGð Gð Gð Gð Gr   rB   c                   ó8   — e Zd ZdZdZej        Zej        Z	d„ Z
dS )ÚBUILTIN_KSI_RotScalez<Insert a keyframe on each of the rotation and scale channelszRotation & Scalec                 ób   — t          j        | |||¦  «         t          j        | |||¦  «         d S r,   ©r   r#   r(   r.   s       r   r   zBUILTIN_KSI_RotScale.generate¯   r9   r   Nr4   r   r   r   rG   rG   ¤   r:   r   rG   c                   ó@   — e Zd ZdZdZej        Zej        Z	ej
        ZdS )ÚBUILTIN_KSI_BendyBonesz8Insert a keyframe for each of the BBone shape propertieszBBone ShapeN)r   r   r   r   r   r   ÚRKS_POLL_selected_bonesr   ÚRKS_ITER_selected_bonesr   ÚRKS_GEN_bendy_bonesr   r   r   r   rK   rK   ¹   s7   € € € € € ØBÐBØ€Hð Ô3€Dð  Ô7€Hð  Ô3€H€H€Hr   rK   c                   óF   — e Zd ZdZdZdhZej        Zej	        Z
ej        ZdS )ÚBUILTIN_KSI_VisualLoczpInsert a keyframe on each of the location channels, taking into account effects of constraints and relationshipszVisual LocationÚINSERTKEY_VISUALN)r   r   r   r   r   Ú
bl_optionsr   r   r   r   r   r   r   r   r   r   rP   rP   Ê   óE   € € € € € ðKð Kà €Hà$Ð%€Jð Ô3€Dð  Ô6€Hð  Ô0€H€H€Hr   rP   c                   óF   — e Zd ZdZdZdhZej        Zej	        Z
ej        ZdS )ÚBUILTIN_KSI_VisualRotzpInsert a keyframe on each of the rotation channels, taking into account effects of constraints and relationshipszVisual RotationrQ   N)r   r   r   r   r   rR   r   r   r   r   r   r#   r   r   r   r   rU   rU   Ü   rS   r   rU   c                   óF   — e Zd ZdZdZdhZej        Zej	        Z
ej        ZdS )ÚBUILTIN_KSI_VisualScalingzmInsert a keyframe on each of the scale channels, taking into account effects of constraints and relationshipszVisual ScalerQ   N)r   r   r   r   r   rR   r   r   r   r   r   r(   r   r   r   r   rW   rW   î   sE   € € € € € ðKð Kà€Hà$Ð%€Jð Ô3€Dð  Ô6€Hð  Ô/€H€H€Hr   rW   c                   ó>   — e Zd ZdZdZdhZej        Zej	        Z
d„ ZdS )ÚBUILTIN_KSI_VisualLocRotz}Insert a keyframe on each of the location and rotation channels, taking into account effects of constraints and relationshipszVisual Location & RotationrQ   c                 ób   — t          j        | |||¦  «         t          j        | |||¦  «         d S r,   r-   r.   s       r   r   z!BUILTIN_KSI_VisualLocRot.generate  r3   r   N©r   r   r   r   r   rR   r   r   r   r   r   r   r   r   r   rY   rY      sU   € € € € € ðKð Kà+€Hà$Ð%€Jð Ô3€Dð  Ô6€HðCð Cð Cð Cð Cr   rY   c                   ó>   — e Zd ZdZdZdhZej        Zej	        Z
d„ ZdS )ÚBUILTIN_KSI_VisualLocScalezzInsert a keyframe on each of the location and scale channels, taking into account effects of constraints and relationshipszVisual Location & ScalerQ   c                 ób   — t          j        | |||¦  «         t          j        | |||¦  «         d S r,   r8   r.   s       r   r   z#BUILTIN_KSI_VisualLocScale.generate$  r9   r   Nr[   r   r   r   r]   r]     óU   € € € € € ðKð Kà(€Hà$Ð%€Jð Ô3€Dð  Ô6€HðBð Bð Bð Bð Br   r]   c                   ó>   — e Zd ZdZdZdhZej        Zej	        Z
d„ ZdS )ÚBUILTIN_KSI_VisualLocRotScalez„Insert a keyframe on each of the location, rotation and scale channels, taking into account effects of constraints and relationshipsz!Visual Location, Rotation & ScalerQ   c                 ó�   — t          j        | |||¦  «         t          j        | |||¦  «         t          j        | |||¦  «         d S r,   r>   r.   s       r   r   z&BUILTIN_KSI_VisualLocRotScale.generate:  r?   r   Nr[   r   r   r   ra   ra   ,  sU   € € € € € ðhð hà2€Hà$Ð%€Jð Ô3€Dð  Ô6€HðBð Bð Bð Bð Br   ra   c                   ó>   — e Zd ZdZdZdhZej        Zej	        Z
d„ ZdS )ÚBUILTIN_KSI_VisualRotScalezzInsert a keyframe on each of the rotation and scale channels, taking into account effects of constraints and relationshipszVisual Rotation & ScalerQ   c                 ób   — t          j        | |||¦  «         t          j        | |||¦  «         d S r,   rI   r.   s       r   r   z#BUILTIN_KSI_VisualRotScale.generateR  r9   r   Nr[   r   r   r   rd   rd   D  r_   r   rd   c                   ó<   — e Zd ZdZeZdZd„ Zej	        Z
ej        ZdS )ÚBUILTIN_KSI_Availablez:Insert a keyframe on each of the already existing F-Curvesr	   c                 ób   — |j         }|r|j        o|j        j        S t          |j        ¦  «        S r,   )Úactive_objectÚanimation_dataÚactionÚboolÚselected_objects)r/   r0   Úobs      r   r   zBUILTIN_KSI_Available.pollb  s7   € ØÔ"ˆØð 	2àÔ$ÐA¨Ô):Ô)AÐAå˜Ô0Ñ1Ô1Ð1r   N)r   r   r   r   ÚANIM_KS_AVAILABLE_IDr   r   r   r   r   r   ÚRKS_GEN_availabler   r   r   r   rg   rg   \  sA   € € € € € ØDÐDØ$€IØ€Hð2ð 2ð 2ð  Ô6€Hð  Ô1€H€H€Hr   rg   c                   óP   — e Zd ZdZd„ Zd„ Zd„ Zdd„Zd„ Zd	„ Z	d
„ Z
d„ Zd„ Zd„ ZdS )ÚWholeCharacterMixin)ÚDEFÚGEOÚMCHÚORGÚCORÚVISc                 óH   — |j         o|j         j        o|j         j        dk    S )NÚPOSE)ri   ÚposeÚmode)r/   r0   s     r   r   zWholeCharacterMixin.poll�  s-   € ØÔ&ð 7¨WÔ-BÔ-Gð 7ØÔ&Ô+¨vÒ5ð	8r   c                 óš   — |j         j        j        D ]8}|j                             | j        ¦  «        s|                      |||¦  «         Œ9d S r,   )ri   r{   ÚbonesÚnameÚ
startswithÚbadBonePrefixesr   ©r/   r0   r1   Úbones       r   r   zWholeCharacterMixin.iterator†  sV   € ØÔ)Ô.Ô4ð 	1ð 	1ˆDØ”9×'Ò'¨Ô(<Ñ=Ô=ð 1Ø—’˜g r¨4Ñ0Ô0Ð0øð	1ð 	1r   c                 ó<  — |j         j        s|                      ||¦  «         |j        dv r|                      ||¦  «         n|                      ||¦  «         |                      ||¦  «         |                      |||¦  «         |                      ||¦  «         d S )N>   Ú
AXIS_ANGLEÚ
QUATERNION)	rƒ   Úuse_connectÚdoLocÚrotation_modeÚdoRot4dÚdoRot3dÚdoScaleÚdoBBoneÚdoCustomPropsr‚   s       r   r   zWholeCharacterMixin.generateŒ  s§   € àŒyÔ$ð 	!Ø�JŠJ�r˜4Ñ Ô Ð àÔÐ!=Ð=Ð=Ø�LŠL˜˜TÑ"Ô"Ð"Ð"à�LŠL˜˜TÑ"Ô"Ð"Ø�Š�R˜ÑÔÐð 	�Š�W˜b $Ñ'Ô'Ð'ð 	×Ò˜2˜tÑ$Ô$Ð$Ð$Ð$r   éÿÿÿÿTc                 ó&  — |                      ¦   «         }|j        }|                     d¦  «        r||z   }nt          j        ||¦  «        }|r&|j                             |||d|j        ¬¦  «         d S |j                             |||¬¦  «         d S )Nú[ÚNAMED)ÚindexÚgroup_methodÚ
group_name)r“   )Úpath_from_idÚid_datar€   r   Úpath_add_propertyÚpathsÚaddr   )	r/   r1   rƒ   Úpropr“   Ú
use_groupsÚid_pathÚid_blockÚpaths	            r   ÚaddPropzWholeCharacterMixin.addPropŸ  s    € à×#Ò#Ñ%Ô%ˆØ”<ˆà�?Š?˜3ÑÔð 	Eà˜T‘>ˆDˆDõ $Ô5°g¸tÑDÔDˆDð ð 	6ØŒH�LŠL˜ 4¨uÀ7ÐW[ÔW`ˆLÑaÔaÐaÐaÐaàŒH�LŠL˜ 4¨uˆLÑ5Ô5Ð5Ð5Ð5r   c                 ó¼   — |j         dk    r|                      ||d¦  «         d S t          d¦  «        D ]'}|j         |         s|                      ||d|¦  «         Œ(d S )N©FFFÚlocationé   )Úlock_locationr    Úrange©r/   r1   rƒ   Úis       r   rˆ   zWholeCharacterMixin.doLoc´  su   € ØÔÐ!6Ò6Ð6Ø�LŠL˜˜T :Ñ.Ô.Ð.Ð.Ð.å˜1‘X”Xð :ð :�ØÔ)¨!Ô,ð :Ø—L’L  T¨:°qÑ9Ô9Ð9øð:ð :r   c                 ó¢  — |j         dk    rd}n|j         dk    rd}|j        rŠ|j        dk    r"|j        du r|                      |||¦  «         d S |j        du r|                      |||d¦  «         t          d¦  «        D ]*}|j        |         s|                      ||||d	z   ¦  «         Œ+d S d
|j        vr|                      |||¦  «         d S d S )Nr†   Úrotation_quaternionr…   Úrotation_axis_angler¢   Fr   r¤   é   T)r‰   Úlock_rotations_4dÚlock_rotationÚlock_rotation_wr    r¦   )r/   r1   rƒ   r›   r¨   s        r   rŠ   zWholeCharacterMixin.doRot4d½  s  € àÔ Ò-Ð-Ø(ˆDˆDØÔ <Ò/Ð/Ø(ˆDð Ô!ð 	)àÔ"Ð&;Ò;Ð;À$ÔBVÐZ_ÐB_ÐB_Ø—’˜R  tÑ,Ô,Ð,Ð,Ð,àÔ'¨5Ð0Ð0Ø—L’L  T¨4°Ñ3Ô3Ð3å˜q™œð <ð <�AØÔ-¨aÔ0ð <ØŸš R¨¨t°Q¸±UÑ;Ô;Ð;øð<ð <ð ˜Ô+Ð+Ð+ð �LŠL˜˜T 4Ñ(Ô(Ð(Ð(Ð(ð ,Ð+r   c                 ó¼   — |j         dk    r|                      ||d¦  «         d S t          d¦  «        D ]'}|j         |         s|                      ||d|¦  «         Œ(d S )Nr¢   Úrotation_eulerr¤   )r®   r    r¦   r§   s       r   r‹   zWholeCharacterMixin.doRot3dÕ  s|   € ØÔÐ!6Ò6Ð6Ø�LŠL˜˜TÐ#3Ñ4Ô4Ð4Ð4Ð4å˜1‘X”Xð @ð @�ØÔ)¨!Ô,ð @Ø—L’L  TÐ+;¸QÑ?Ô?Ð?øð@ð @r   c                 ó¼   — |j         dk    r|                      ||d¦  «         d S t          d¦  «        D ]'}|j         |         s|                      ||d|¦  «         Œ(d S )N)r   r   r   Úscaler¤   )Ú
lock_scaler    r¦   r§   s       r   rŒ   zWholeCharacterMixin.doScaleÞ  sr   € ØŒ?˜iÒ'Ð'Ø�LŠL˜˜T 7Ñ+Ô+Ð+Ð+Ð+å˜1‘X”Xð 7ð 7�Ø” qÔ)ð 7Ø—L’L  T¨7°AÑ6Ô6Ð6øð7ð 7r   c                 ó\   — |j         }|j        dk    rt          j        | |||¦  «         d S d S )Nr¬   )rƒ   Úbbone_segmentsr   rN   )r/   r0   r1   Úpchanrƒ   s        r   r�   zWholeCharacterMixin.doBBoneé  s>   € ØŒzˆð Ô Ò"Ð"ÝÔ0°°wÀÀEÑJÔJÐJÐJÐJð #Ð"r   c                 óN  — t           j        j        t           j        j        t           j        j        t           j        j        h}|                     ¦   «         D ]Í}t          |¦  «        j        j	         
                    |d ¦  «        }|€~d                     t           j                             |¦  «        ¦  «        }	 |                     |d¦  «        }n# t          $ r Y Œ‡w xY w|sŒŽ|j        |v r|                      |||¦  «         Œ¯|j        r|                      |||¦  «         ŒÎd S )Nz["{:s}"]F)ÚbpyÚtypesÚBoolPropertyÚIntPropertyÚFloatPropertyÚEnumPropertyÚkeysÚtypeÚbl_rnaÚ
propertiesÚgetÚformatÚutilsÚescape_identifierÚpath_resolveÚ
ValueErrorÚrna_typer    Úis_animatable)r/   r1   rƒ   Úprop_type_compatr›   Úprop_rnaÚ	prop_pathÚrna_propertys           r   rŽ   z!WholeCharacterMixin.doCustomPropsö  s,  € õ ŒIÔ"ÝŒIÔ!ÝŒIÔ#ÝŒIÔ"ð	
Ðð —I’I‘K”Kð 	-ð 	-ˆDå˜D‘z”zÔ(Ô3×7Ò7¸¸dÑCÔCˆHØÐØ&×-Ò-­c¬i×.IÒ.IÈ$Ñ.OÔ.OÑPÔP�	ðØ#'×#4Ò#4°YÀÑ#FÔ#F�L�LøÝ!ð ð ð ð �Hðøøøð $ð àØÔ(Ð,<Ð<Ð<Ø—L’L  T¨9Ñ5Ô5Ð5øØÔ'ð -Ø—’˜R  tÑ,Ô,Ð,øð#	-ð 	-s   Â;CÃ
CÃCN)r�   T)r   r   r   r�   r   r   r   r    rˆ   rŠ   r‹   rŒ   r�   rŽ   r   r   r   rr   rr   s  s¼   € € € € € ð€Oð8ð 8ð 8ð
1ð 1ð 1ð%ð %ð %ð&6ð 6ð 6ð 6ð*:ð :ð :ð)ð )ð )ð0@ð @ð @ð7ð 7ð 7ðKð Kð Kð-ð -ð -ð -ð -r   rr   c                   ó   — e Zd ZdZeZdZdS )ÚBUILTIN_KSI_WholeCharacterzyInsert a keyframe for all properties that are likely to get animated in a character rig (useful when blocking out a shot)zWhole CharacterN)r   r   r   r   ÚANIM_KS_WHOLE_CHARACTER_IDr   r   r   r   r   rÐ   rÐ     s"   € € € € € ð0ð 0à*€IØ €H€H€Hr   rÐ   c                   ó    — e Zd ZdZeZdZd„ ZdS )Ú"BUILTIN_KSI_WholeCharacterSelectedzmInsert a keyframe for all properties that are likely to get animated in a character rig (only selected bones)z%Whole Character (Selected Bones Only)c                 ó®   — |j         p|j        j        j        }|D ]9}|j                             | j        ¦  «        rŒ"|                      |||¦  «         Œ:d S r,   )Ú&selected_pose_bones_from_active_objectri   r{   r~   r   r€   r�   r   )r/   r0   r1   r~   rƒ   s        r   r   z+BUILTIN_KSI_WholeCharacterSelected.iterator"  sh   € àÔ>ÐbÀ'ÔBWÔB\ÔBbˆàð 	-ð 	-ˆDØŒy×#Ò# DÔ$8Ñ9Ô9ð ØØ�MŠM˜' 2 tÑ,Ô,Ð,Ð,ð	-ð 	-r   N)r   r   r   r   Ú#ANIM_KS_WHOLE_CHARACTER_SELECTED_IDr   r   r   r   r   r   rÓ   rÓ     s7   € € € € € ð$ð $à3€IØ6€Hð-ð -ð -ð -ð -r   rÓ   c                   ó8   — e Zd ZdZdZej        Zej        Z	d„ Z
dS )ÚBUILTIN_KSI_DeltaLocationz/Insert keyframes for additional location offsetzDelta Locationc                 óÚ   — t          j        |¦  «        \  }}}t          j        |d¦  «        }|r |j                             ||d|¬¦  «         d S |j                             ||¦  «         d S )NÚdelta_locationr’   ©r”   r•   ©r   Ú"get_transform_generators_base_infor˜   r™   rš   ©r/   Ú_contextr1   r2   rž   Ú	base_pathÚgroupingrŸ   s           r   r   z"BUILTIN_KSI_DeltaLocation.generate<  sw   € å(8Ô([Ð\`Ñ(aÔ(aÑ%ˆ�)˜Xõ  Ô1°)Ð=MÑNÔNˆð ð 	)ØŒH�LŠL˜ 4°gÈ(ˆLÑSÔSÐSÐSÐSàŒH�LŠL˜ 4Ñ(Ô(Ð(Ð(Ð(r   N©r   r   r   r   r   r   ÚRKS_POLL_selected_objectsr   ÚRKS_ITER_selected_objectsr   r   r   r   r   rØ   rØ   1  sB   € € € € € Ø9Ð9Ø€Hð Ô5€Dð  Ô9€Hð)ð )ð )ð )ð )r   rØ   c                   ó8   — e Zd ZdZdZej        Zej        Z	d„ Z
dS )ÚBUILTIN_KSI_DeltaRotationz/Insert keyframes for additional rotation offsetzDelta Rotationc                 ó6  — t          j        |¦  «        \  }}}|j        dk    rt          j        |d¦  «        }n"|j        dk    rd S t          j        |d¦  «        }|r |j                             ||d|¬¦  «         d S |j                             ||¦  «         d S )Nr†   Údelta_rotation_quaternionr…   Údelta_rotation_eulerr’   rÛ   )r   rÝ   r‰   r˜   r™   rš   rÞ   s           r   r   z"BUILTIN_KSI_DeltaRotation.generateV  s¯   € å(8Ô([Ð\`Ñ(aÔ(aÑ%ˆ�)˜Xð Ô Ò-Ð-Ý#Ô5°iÐA\Ñ]Ô]ˆDˆDØÔ <Ò/Ð/ð ˆFå#Ô5°iÐAWÑXÔXˆDð ð 	)ØŒH�LŠL˜ 4°gÈ(ˆLÑSÔSÐSÐSÐSàŒH�LŠL˜ 4Ñ(Ô(Ð(Ð(Ð(r   Nrâ   r   r   r   ræ   ræ   K  sB   € € € € € Ø9Ð9Ø€Hð Ô5€Dð  Ô9€Hð)ð )ð )ð )ð )r   ræ   c                   ó8   — e Zd ZdZdZej        Zej        Z	d„ Z
dS )ÚBUILTIN_KSI_DeltaScalez,Insert keyframes for additional scale factorzDelta Scalec                 óÚ   — t          j        |¦  «        \  }}}t          j        |d¦  «        }|r |j                             ||d|¬¦  «         d S |j                             ||¦  «         d S )NÚdelta_scaler’   rÛ   rÜ   rÞ   s           r   r   zBUILTIN_KSI_DeltaScale.generatex  sv   € å(8Ô([Ð\`Ñ(aÔ(aÑ%ˆ�)˜Xõ  Ô1°)¸]ÑKÔKˆð ð 	)ØŒH�LŠL˜ 4°gÈ(ˆLÑSÔSÐSÐSÐSàŒH�LŠL˜ 4Ñ(Ô(Ð(Ð(Ð(r   Nrâ   r   r   r   rë   rë   m  sB   € € € € € Ø6Ð6Ø€Hð Ô5€Dð  Ô9€Hð)ð )ð )ð )ð )r   rë   c                  ó<   — ddl m}  t          D ]} | |¦  «         Œd S )Nr   )Úregister_class)Ú	bpy.utilsrï   Úclasses)rï   Úclss     r   Úregisterró   ¥  s@   € Ø(Ð(Ð(Ð(Ð(Ð(Ýð ð ˆØˆ�sÑÔÐÐðð r   c                  ó<   — ddl m}  t          D ]} | |¦  «         Œd S )Nr   )Úunregister_class)rð   rõ   rñ   )rõ   rò   s     r   Ú
unregisterrö   «  sA   € Ø*Ð*Ð*Ð*Ð*Ð*Ýð ð ˆØÐ˜ÑÔÐÐðð r   Ú__main__)(r   r¹   r   Ú	bpy.typesr   r   r"   r'   r@   rE   ro   rÑ   rÖ   r   r!   r%   r*   r6   r<   rB   rG   rK   rP   rU   rW   rY   r]   ra   rd   rg   rr   rÐ   rÓ   rØ   ræ   rë   rñ   ró   rö   r   r   r   r   ú<module>rù      s  ðð

ð 
ð €
€
€
Ø Ð Ð Ð Ø #Ð #Ð #Ð #Ð #Ð #ð !Ð Ø Ð ØÐ Ø(Ð Ø!3Ð Ø"Ð Ø-Ð Ø&>Ð #ð1ð 1ð 1ð 1ð 1˜=ñ 1ô 1ð 1ð 1ð 1ð 1ð 1ð 1˜=ñ 1ô 1ð 1ð 0ð 0ð 0ð 0ð 0˜-ñ 0ô 0ð 0ð$Cð Cð Cð Cð C˜ñ Cô Cð Cð&Bð Bð Bð Bð B˜=ñ Bô Bð Bð&Bð Bð Bð Bð B˜mñ Bô Bð Bð,Gð Gð Gð Gð G =ñ Gô Gð Gð Bð Bð Bð Bð B˜=ñ Bô Bð Bð*4ð 4ð 4ð 4ð 4˜]ñ 4ô 4ð 4ð"1ð 1ð 1ð 1ð 1˜Mñ 1ô 1ð 1ð$1ð 1ð 1ð 1ð 1˜Mñ 1ô 1ð 1ð$0ð 0ð 0ð 0ð 0 ñ 0ô 0ð 0ð$Cð Cð Cð Cð C˜}ñ Cô Cð Cð,Bð Bð Bð Bð B ñ Bô Bð Bð,Bð Bð Bð Bð B Mñ Bô Bð Bð0Bð Bð Bð Bð B ñ Bô Bð Bð02ð 2ð 2ð 2ð 2˜Mñ 2ô 2ð 2ð.^-ð ^-ð ^-ð ^-ð ^-ñ ^-ô ^-ð ^-ðB!ð !ð !ð !ð !Ð!4°mñ !ô !ð !ð-ð -ð -ð -ð -Ð)<¸mñ -ô -ð -ð,)ð )ð )ð )ð ) ñ )ô )ð )ð4)ð )ð )ð )ð ) ñ )ô )ð )ðD)ð )ð )ð )ð )˜]ñ )ô )ð )ð> ØØØØØØ ØØØØØØØØØØ!ØØØØØ&ð-€ð4ð ð ðð ð ð ˆzÒÐØ€H�J„J€J€J€Jð Ðr   