
    <iT.                        S r SSKrSSKJr  SSKJr  SSKJr  SSKJ	r
  SSKJr  SS	KJr  SS
KJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJ r!  SSKJ"r#  SSKJ$r%  SSKJ&r'  SSK(J)r)  SSKJ*r*J+r+J,r,J-r-J.r.J/r/J0r0J1r1J2r2J3r3J4r4J5r5J6r6J7r7J8r8J9r9J:r:J;r;J<r<J=r=J>r>J?r?J@r@JArAJBrBJCrCJDrDJErEJFrFJGrGJHrHJIrIJJrJJKrKJLrLJMrMJNrNJOrOJPrPJQrQJRrRJSrSJTrTJUrUJVrVJWrWJXrXJYrYJZrZJ[r[J\r\J]r]J^r^J_r_J`r`JaraJbrbJcrcJdrd  SSKeJfrf  S\)R                  " SS5      -   rh\7" \E" 5       S9ri\iR                  rj\iR                  rk\iR                  rl\iR                  rm\iR                  rn\iR                  ro\iR                  rp\iR                  rq\iR                  rr\iR                  rs\iR                  rt\iR                  rv\iR                  rw\iR                  rx\iR                  ry\iR                  R                  r{\iR                  R                  r|\\\\\
\\\\\\\\\\!\#\%\'/r}SR                  \iR                  R                   \iR                  R                   \iR                  R                   5      rS rS  rS! rS" r\" 5         S5S# jrS5S$ jrS5S% jrS5S& jrS5S' jrS5S( jrS5S) jrS5S* jrS5S+ jrS5S, jrS5S- jrS5S. jrS5S/ jrS5S0 jrS5S1 jrS5S2 jrS5S3 jrS5S4 jrg)6ai  Functions and class wrappers for interacting with STIX2 data at a high level.

.. autofunction:: create
.. autofunction:: set_default_creator
.. autofunction:: set_default_created
.. autofunction:: set_default_external_refs
.. autofunction:: set_default_object_marking_refs
.. autofunction:: get
.. autofunction:: all_versions
.. autofunction:: query
.. autofunction:: creator_of
.. autofunction:: relationships
.. autofunction:: related_to
.. autofunction:: save
.. autofunction:: add_filters
.. autofunction:: add_filter
.. autofunction:: parse
.. autofunction:: add_data_source
.. autofunction:: add_data_sources

    N   )AttackPattern)Campaign)CourseOfAction)Grouping)Identity)	Indicator)Infrastructure)IntrusionSet)Location)Malware)MalwareAnalysis)Note)OBJ_MAP)ObservedData)Opinion)Report)ThreatActor)Tool)Vulnerability)DEFAULT_VERSION);AlternateDataStream
ArchiveExtArtifactAutonomousSystemBundleCustomExtensionCustomMarkingCustomObservable	Directory
DomainNameEmailAddressEmailMessageEmailMIMEComponentEnvironmentExternalReferenceFileFileSystemSourceFilterGranularMarkingHTTPRequestExtICMPExtIPv4AddressIPv6AddressKillChainPhaseLanguageContent
MACAddressMarkingDefinitionMemoryStoreMutexNetworkTrafficNTFSExtparse_observablePDFExtProcessRasterImageExtRelationshipSighting	SocketExtSoftwareStatementMarkingTAXIICollectionSourceTCPExt	TLP_AMBER	TLP_GREENTLP_RED	TLP_WHITE
TLPMarkingUNIXAccountExtURLUserAccountWindowsPEBinaryExtWindowsPEOptionalHeaderTypeWindowsPESectionWindowsProcessExtWindowsRegistryKeyWindowsRegistryValueTypeWindowsServiceExtX509CertificateX509V3ExtensionsType)	FilterSetv. )storezs

.. method:: created_by(*args, **kwargs)

        {}

.. method:: relationships(*args, **kwargs)

        {}

.. method:: related(*args, **kwargs)

        {}

c                 6    [         R                  " U /UQ70 UD6$ N)_environ
creator_ofselfargskwargss      I/home/james-whalen/.local/lib/python3.13/site-packages/stix2/workbench.py_created_by_wrapperra   {       t5d5f55    c                 6    [         R                  " U /UQ70 UD6$ rY   )rZ   relationshipsr\   s      r`   _relationships_wrapperrf      s    !!$8888rc   c                 6    [         R                  " U /UQ70 UD6$ rY   )rZ   
related_tor\   s      r`   _related_wrapperri      rb   rc   c                     [          H  n SR                  U R                  [        [        5      [
        [        [        S.n[        U R                  U 4U5      n[        R                  " [        R                  U5      nU R                  Ul        U R                  Ul        [        U S5      (       a  U R                   Ul        U[#        5       U R                  '   U[$        U R                  '   M     g )NzVWorkbench wrapper around the `{0} <stix2.{1}.sdo.rst#stix2.{1}.sdo.{0}>`__ object. {2})__doc__
created_byre   related_id_contributing_properties)	STIX_OBJSformat__name__	_STIX_VIDSTIX_OBJ_DOCSra   rf   ri   type	functoolspartialrZ   create_type_propertieshasattrrn   globalsr   )obj_typenew_class_dict	new_classfactory_funcs       r`   _setup_workbenchr      s     pvv!!
 .3'	
 **XKH	 (()D &^^#+#7#7 8:;;44 4
 (4	(##$".M rc   c                 f    [        U 5      nUR                  [        SSS5      5        [        U5      $ )zRetrieve all Attack Pattern objects.

Args:
    filters (list, optional): A list of additional filters to apply to
        the query.

rt   =zattack-patternrS   addr)   queryfiltersfilter_lists     r`   attack_patternsr      /     G$KOOF63(89:rc   c                 f    [        U 5      nUR                  [        SSS5      5        [        U5      $ )zRetrieve all Campaign objects.

Args:
    filters (list, optional): A list of additional filters to apply to
        the query.

rt   r   campaignr   r   s     r`   	campaignsr      .     G$KOOF63
34rc   c                 f    [        U 5      nUR                  [        SSS5      5        [        U5      $ )zRetrieve all Course of Action objects.

Args:
    filters (list, optional): A list of additional filters to apply to
        the query.

rt   r   zcourse-of-actionr   r   s     r`   courses_of_actionr      /     G$KOOF63(:;<rc   c                 f    [        U 5      nUR                  [        SSS5      5        [        U5      $ )zRetrieve all Grouping objects.

Args:
    filters (list, optional): A list of additional filters to apply to
        the query.

rt   r   groupingr   r   s     r`   	groupingsr      r   rc   c                 f    [        U 5      nUR                  [        SSS5      5        [        U5      $ )zRetrieve all Identity objects.

Args:
    filters (list, optional): A list of additional filters to apply to
        the query.

rt   r   identityr   r   s     r`   
identitiesr      r   rc   c                 f    [        U 5      nUR                  [        SSS5      5        [        U5      $ )zRetrieve all Indicator objects.

Args:
    filters (list, optional): A list of additional filters to apply to
        the query.

rt   r   	indicatorr   r   s     r`   
indicatorsr      s.     G$KOOF6345rc   c                 f    [        U 5      nUR                  [        SSS5      5        [        U5      $ )zRetrieve all Infrastructure objects.

Args:
    filters (list, optional): A list of additional filters to apply to
        the query.

rt   r   infrastructurer   r   s     r`   infrastructuresr     r   rc   c                 f    [        U 5      nUR                  [        SSS5      5        [        U5      $ )zRetrieve all Intrusion Set objects.

Args:
    filters (list, optional): A list of additional filters to apply to
        the query.

rt   r   zintrusion-setr   r   s     r`   intrusion_setsr     .     G$KOOF6389rc   c                 f    [        U 5      nUR                  [        SSS5      5        [        U5      $ )zRetrieve all Location objects.

Args:
    filters (list, optional): A list of additional filters to apply to
        the query.

rt   r   locationr   r   s     r`   	locationsr     r   rc   c                 f    [        U 5      nUR                  [        SSS5      5        [        U5      $ )zRetrieve all Malware objects.

Args:
    filters (list, optional): A list of additional filters to apply to
        the query.

rt   r   malwarer   r   s     r`   r   r   ,  .     G$KOOF63	23rc   c                 f    [        U 5      nUR                  [        SSS5      5        [        U5      $ )zRetrieve all Malware Analysis objects.

Args:
    filters (list, optional): A list of additional filters to apply to
        the query.

rt   r   zmalware-analysisr   r   s     r`   malware_analysesr   9  r   rc   c                 f    [        U 5      nUR                  [        SSS5      5        [        U5      $ )z}Retrieve all Note objects.

Args:
    filters (list, optional): A list of additional filters to apply to
        the query.

rt   r   noter   r   s     r`   notesr   F  .     G$KOOF63/0rc   c                 f    [        U 5      nUR                  [        SSS5      5        [        U5      $ )zRetrieve all Observed Data objects.

Args:
    filters (list, optional): A list of additional filters to apply to
        the query.

rt   r   zobserved-datar   r   s     r`   observed_datar   S  r   rc   c                 f    [        U 5      nUR                  [        SSS5      5        [        U5      $ )zRetrieve all Opinion objects.

Args:
    filters (list, optional): A list of additional filters to apply to
        the query.

rt   r   opinionr   r   s     r`   opinionsr   `  r   rc   c                 f    [        U 5      nUR                  [        SSS5      5        [        U5      $ )zRetrieve all Report objects.

Args:
    filters (list, optional): A list of additional filters to apply to
        the query.

rt   r   reportr   r   s     r`   reportsr   m  s.     G$KOOF6312rc   c                 f    [        U 5      nUR                  [        SSS5      5        [        U5      $ )zRetrieve all Threat Actor objects.

Args:
    filters (list, optional): A list of additional filters to apply to
        the query.

rt   r   zthreat-actorr   r   s     r`   threat_actorsr   z  s.     G$KOOF6378rc   c                 f    [        U 5      nUR                  [        SSS5      5        [        U5      $ )z}Retrieve all Tool objects.

Args:
    filters (list, optional): A list of additional filters to apply to
        the query.

rt   r   toolr   r   s     r`   toolsr     r   rc   c                 f    [        U 5      nUR                  [        SSS5      5        [        U5      $ )zRetrieve all Vulnerability objects.

Args:
    filters (list, optional): A list of additional filters to apply to
        the query.

rt   r   vulnerabilityr   r   s     r`   vulnerabilitiesr     r   rc   rY   )rk   ru   rV   r   _AttackPatternr   	_Campaignr   _CourseOfActionr   	_Groupingr   	_Identityr	   
_Indicatorr
   _Infrastructurer   _IntrusionSetr   	_Locationr   _Malwarer   _MalwareAnalysisr   _Noter   r   _ObservedDatar   _Opinionr   _Reportr   _ThreatActorr   _Toolr   _Vulnerabilityversionr   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   datastore.filtersrS   replacerr   rZ   rw   set_default_creatorset_default_createdset_default_external_refsset_default_object_marking_refsgetall_versionsr   r[   re   rh   r   saveadd_filters
add_filterparsesourceadd_data_sourceadd_data_sourcesro   rp   rs   ra   rf   ri   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    rc   r`   <module>r      sp  ,  - # / # # % / + # ! 1   + !  )  - $               " ) /))#r22	 []+	22 22 $>> "*"J"J ll$$  
&&  
||""  
//11??33  I	9	8e]Hg%		 F"" *696'/T  

















rc   