Ë
    èlÖig€ ã                   ó>  — d dl Z d dlZd dlZd dlZd dlZd dlmZ d dlmZm	Z	 d dl
mZm
Z
mZ d dlmZ d dlmZmZmZmZmZmZmZmZmZmZ d dlZd dlmZ d dlZd dlZd dl Zd dl!Zd dl"Z#d dlm$Z$ d d	l%m&Z& d d
l'm(Z(m)Z)m*Z*m+Z+ d dl,m-Z-m.Z.m/Z/m0Z0 d dl1m2Z2 d dl3m4Z4 d dl5m6Z6m7Z7 d dl8m9Z9 d dl:m;Z;m<Z< d dl=m>Z>m?Z?m@Z@ d dlAmBZB d dlCmDZD d dlEmFZFmGZG d dlHmIZImJZJ d dlKmLZL d dlMmNZNmOZO d dlPmQZQmRZRmSZSmTZTmUZU d dlVmWZWmXZXmYZYmZZZm[Z[m\Z\m]Z]m^Z^m_Z_m`Z`maZambZb d dlcmdZd d dlemfZfmgZgmhZhmiZimjZjmkZkmlZlmmZmmnZnmoZompZpmqZqmrZrmsZsmtZtmuZumvZvmwZw d dlmxZxmyZymzZzm{Z{m|Z| d dl}m~Z~ d dlm€Z€ d dl�m‚Z‚mƒZƒ d d l„m…Z… d d!l†m‡Z‡ d d"lˆm‰Z‰ d d#lŠm‹Z‹ d d$lŒm�Z� d d%lŽm�Z� d d&l�m‘Z‘ d d'l’m“Z“ d d(l”m•Z• d d)l–m—Z—m˜Z˜ d d*l™mšZšm›Z›mœZœm�Z�mžZž d d+lŸm Z  d d,l¡m¢Z¢ d d-l£m¤Z¤ d d.l¥m¦Z¦ d d/l§m¨Z¨ d d0l©mªZª d d1l«m¬Z¬ d d2l­m®Z® d d3l¯m°Z° d d4l±m²Z² d d5l³m´Z´mµZµm¶Z¶m·Z· d d6l¸m¹Z¹ d d7lºm»Z»m¼Z¼ d d8l½m¾Z¾ d d9l¿mÀZÀmÁZÁmÂZÂ d d:lÃmÄZÄ d d;lÅmÆZÆ d d<lÇmÈZÈ d d=lÉmÊZÊ d d>lËmÌZÌ d?ZÍd@„ ZÎdA„ ZÏdB„ ZÐdC„ ZÑdDeeeÒeÓf      dEeÒfdF„ZÔ G dG„ dHe»«      ZÕe G dI„ dJe¼«      «       ZÖe G dK„ dLe¼«      «       Z×e G dM„ dNe¼e4«      «       ZØ G dO„ dP«      ZÙ	 	 	 	 dŠdQeÒdReÒdSeeÒ   dTee0   dUeeÚ   dVeÚfdW„ZÛdXeZdYeZdZeeÒ   d[eÒdEdf
d\„ZÜd]eSdEeeÒef   fd^„ZÝd]eSd_e<dEdfd`„ZÞd]eSd_e<dEdfda„Zßd]eSd_e<dEdfdb„Zàee]geeÒef   f   ZádceÒd]eSddeÒdEeeÒ   fde„ZâdfeeÒef   dXeZd]eSfdg„ZãdfeeÒef   dhebd]eSfdi„ZädfeeÒef   djeYdEdfdk„ZådfeeÒef   dleWdEdfdm„ZædfeeÒef   dne[dEdfdo„ZçdfeeÒef   dpeadEdfdq„ZèdfeeÒef   dre^dEdfds„Zéd]eSd[eÒdteeeÒe;f      dEdfdu„Zêd]eSd[eÒdne[dEdfdv„Zëd]eSd[eÒdne[dEdfdw„Zìd]eSd[eÒdXeeZe[eWe^f   fdx„Zídy„ Zîd]eSd[eÒdleWfdz„Zïd]eSd[eÒdne[fd{„Zðd]eSd[eÒdXeZfd|„Zñd]eSd[eÒdXeZdEdfd}„Zòd_e<d]eSdjeYdEdfd~„Zód_e<d]eSdXeZfd„Zôd]eSd€eÒdEdfd�„Zõd‹d]eSd€eÒd‚eeÒ   fdƒ„Zöd„e<d…eÚd†eÚd‡eÚdˆeee-      dEeSfd‰„Z÷y)Œé    N)Údeepcopy)Ú	dataclassÚfield)ÚdateÚdatetimeÚtimezone)Úchain)
ÚAnyÚCallableÚDictÚListÚMappingÚOptionalÚSetÚTupleÚTypeÚUnion)ÚCall)Úplugins)Ú
Capability)Úget_adapterÚget_adapter_package_namesÚget_relation_class_by_nameÚregister_adapter)ÚCatalogWriteIntegrationConfigÚFileHashÚNodeRelationÚNodeVersion)Ú	BatchSize)ÚWritable)Ú
MacroStackÚget_rendered)Ústatically_extract_macro_calls)ÚProjectÚRuntimeConfig)ÚMANIFEST_FILE_NAMEÚPARTIAL_PARSE_FILE_NAMEÚSEMANTIC_MANIFEST_FILE_NAME)Úgenerate_macro_context)Úgenerate_runtime_docs_context)ÚMacroResolverÚTestMacroNamespace)ÚParseProviderÚgenerate_runtime_macro_context)Úgenerate_query_header_context)ÚParseFileTypeÚSchemaSourceFile)ÚDisabledÚMacroManifestÚManifestÚManifestStateCheckÚParsingInfo)ÚExposureÚGenericTestNodeÚMacroÚManifestNodeÚMetricÚ	ModelNodeÚ
ResultNodeÚ
SavedQueryÚSeedNodeÚSemanticManifestNodeÚSemanticModelÚSourceDefinition)ÚSemanticManifest)ÚArtifactWrittenÚDeprecatedModelÚDeprecatedReferenceÚInvalidConcurrentBatchesConfigÚInvalidDisabledTargetInTestNodeÚ MicrobatchModelNoEventTimeInputsÚNodeNotFoundOrDisabledÚ#PackageNodeDependsOnRootProjectNodeÚParsedFileLoadFailedÚParsePerfInfoPathÚPartialParsingErrorÚ!PartialParsingErrorProcessingFileÚPartialParsingNotEnabledÚPartialParsingSkipParsingÚSpacesInResourceNameDeprecationÚStateCheckVarsHashÚUnableToPartialParseÚUpcomingReferenceDeprecation)ÚAmbiguousAliasErrorÚDuplicateResourceNameErrorÚInvalidAccessTypeErrorÚTargetNotFoundErrorÚscrub_secrets)Ú	get_flags)Úget_mp_context)Ú
AccessTypeÚNodeType)ÚAnalysisParser)ÚParser)ÚDocumentationParser)ÚFixtureParser)ÚFunctionParser)ÚGenericTestParser)Ú
HookParser)ÚMacroParser)ÚModelParser)ÚPartialParsingÚspecial_override_macros)ÚFileDiffÚ	ReadFilesÚReadFilesFromDiffÚReadFilesFromFileSystemÚload_source_file)ÚSchemaParser)Ú	FileBlock)Ú
SeedParser)ÚSingularTestParser)ÚSnapshotParser)ÚSourcePatcher)Úprocess_models_for_unit_test)Úadd_artifact_produced)Ú__version__)Úparse)Úmake_directoryÚpath_existsÚ	read_jsonÚ
write_file)ÚSECRET_ENV_PREFIX)ÚStrEnumÚdbtClassMixin)Ú
EventLevel)Ú
fire_eventÚget_invocation_idÚwarn_or_error)ÚNote)ÚDbtValidationError)ÚPathSet)Úassert_values_exhausted)Ú
MetricTypezperf_info.jsonc                 ó:   — t        j                  | t        d¬«      S )NT)ÚdefaultÚuse_bin_type)ÚmsgpackÚpackbÚextended_msgpack_encoder©Údatas    úX/var/www/html/strategist-ai/venv_dbt/lib/python3.12/site-packages/dbt/parser/manifest.pyÚextended_mashumaro_encoderr’   �   s   € Ü�=‰=˜Ô'?ÈdÔSÐSó    c                 ó  — t        | «      t        u r4t        j                  d| j	                  «       j                  «       «      }|S t        | «      t        u r4t        j                  d| j	                  «       j                  «       «      }|S | S ©Né   é   )Útyper   rŒ   ÚExtTypeÚ	isoformatÚencoder   )ÚobjÚ
date_bytesÚdatetime_bytess      r‘   rŽ   rŽ   “   si   € ÜˆCƒy”DÑÜ—_‘_ Q¨¯©«×(>Ñ(>Ó(@ÓAˆ
ØÐÜ	ˆc‹”hÑ	Ü Ÿ™¨¨C¯M©M«O×,BÑ,BÓ,DÓEˆØÐà€Jr“   c                 ó:   — t        j                  | t        d¬«      S )NF)Úext_hookÚraw)rŒ   ÚunpackbÚextended_msgpack_decoderr�   s    r‘   Úextended_mashumuro_decoderr¤   ž   s   € Ü�?‰?˜4Ô*BÈÔNÐNr“   c                 óÖ   — | dk(  r%t        j                  |j                  «       «      }|S | dk(  r%t        j                  |j                  «       «      }|S t	        j
                  | |«      S r•   )r   ÚfromisoformatÚdecoder   rŒ   r™   )Úcoder�   ÚdÚdts       r‘   r£   r£   ¢   sW   € Øˆq‚yÜ×Ñ˜tŸ{™{›}Ó-ˆØˆØ	�ŠÜ×#Ñ# D§K¡K£MÓ2ˆØˆ	ä�‰˜t TÓ*Ð*r“   ÚversionÚreturnc                 ó^   — t        | t        «      rt        | «      S t        | t        «      r| S y)NÚ )Ú
isinstanceÚintÚstr)r«   s    r‘   Úversion_to_strr²   ­   s(   € Ü�'œ3ÔÜ�7‹|ÐÜ	�GœSÔ	!Øˆàr“   c                   ó4   — e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
Zy)ÚReparseReasonÚ01_version_mismatchÚ02_file_not_foundÚ03_vars_changedÚ04_profile_changedÚ05_deps_changedÚ06_project_config_changedÚ07_load_file_failureÚ08_exceptionÚ09_project_env_vars_changedÚ10_profile_env_vars_changedN)Ú__name__Ú
__module__Ú__qualname__Úversion_mismatchÚfile_not_foundÚvars_changedÚprofile_changedÚdeps_changedÚproject_config_changedÚload_file_failureÚ	exceptionÚproj_env_vars_changedÚprof_env_vars_changed© r“   r‘   r´   r´   ¶   s9   „ Ø,ÐØ(€NØ$€LØ*€OØ$€LØ8ÐØ.ÐØ€IØ9ÐØ9Ñr“   r´   c                   ó0   — e Zd ZU eed<   eed<   dZeed<   y)Ú
ParserInfoÚparserÚelapsedr   Úparsed_path_countN)r¿   rÀ   rÁ   r±   Ú__annotations__ÚfloatrÑ   r°   rÌ   r“   r‘   rÎ   rÎ   Ä   s   … àƒKØƒNØÐ�sÔr“   rÎ   c                   óR   — e Zd ZU eed<   eed<    ee¬«      Ze	e
   ed<   dZeed<   y)ÚProjectLoaderInfoÚproject_namerÐ   ©Údefault_factoryÚparsersr   rÑ   N)r¿   rÀ   rÁ   r±   rÒ   rÓ   r   ÚlistrÙ   r   rÎ   rÑ   r°   rÌ   r“   r‘   rÕ   rÕ   Ì   s,   … àÓØƒNÙ %°dÔ ;€GˆT�*ÑÓ;ØÐ�sÔr“   rÕ   c                   óF  — e Zd ZU dZeed<   dZeed<   dZeed<   dZeed<   dZ	e
e   ed<   dZe
e   ed<   dZe
e   ed	<   dZe
e   ed
<   dZe
e   ed<   dZe
e   ed<   dZe
e   ed<   dZe
e   ed<    ee¬«      Zee   ed<    ee¬«      Zeeef   ed<   ddede
e   fd„Zy)ÚManifestLoaderInfor   Ú
path_countrÑ   Ústatic_analysis_path_countÚ!static_analysis_parsed_path_countNÚis_partial_parse_enabledÚis_static_analysis_enabledÚread_files_elapsedÚload_macros_elapsedÚparse_project_elapsedÚpatch_sources_elapsedÚprocess_manifest_elapsedÚload_all_elapsedr×   ÚprojectsÚ_project_indexÚdctÚcontextc                 ó   — |d= |S )Nré   rÌ   )Úselfrê   rë   s      r‘   Ú__post_serialize__z%ManifestLoaderInfo.__post_serialize__æ   s   € ØÐ Ð!Øˆ
r“   ©N)r¿   rÀ   rÁ   rÝ   r°   rÒ   rÑ   rÞ   rß   rà   r   Úboolrá   râ   rÓ   rã   rä   rå   ræ   rç   r   rÚ   rè   r   rÕ   Údictré   r   r±   rî   rÌ   r“   r‘   rÜ   rÜ   Õ   së   … à€J�ÓØÐ�sÓØ&'Ð Ó'Ø-.Ð% sÓ.Ø/3Ð˜h t™nÓ3Ø15Ð ¨¡Ó5Ø*.Ð˜ ™Ó.Ø+/Ð˜ %™Ó/Ø-1Ð˜8 E™?Ó1Ø-1Ð˜8 E™?Ó1Ø04Ð˜h u™oÓ4Ø(,Ð�h˜u‘oÓ,Ù(-¸dÔ(C€HˆdÐ$Ñ%ÓCÙ38ÈÔ3N€N�D˜Ð/Ð/Ñ0ÓNñ dð °X¸d±^ô r“   rÜ   c                   ón  — e Zd Z	 	 d?dedeeef   deeege	f      dee
   ddf
d„Zedddd	œd
edee
   dedefd„«       Zdefd„Zdedefd„Zd„ Zd„ Zd@d„Zd„ Zdedeee      ddfd„Zd„ Zd„ Zd„ Zdefd„Zdedeeee   f   fd„Zd„ Z dee   fd„Z!d„ Z"d „ Z#d!„ Z$d"„ Z%e	 dAd#edeege	f   defd$„«       Z&d%„ Z'd&ed'eeee(f      fd(„Z)d
efd)„Z*d
efd*„Z+d+„ Z,d@d,„Z-d
efd-„Z.d&efd.„Z/d&efd/„Z0d&efd0„Z1d1„ Z2d2„ Z3d3e4e5e6e7e8f   d4e9e   fd5„Z:d6„ Z;d7„ Z<d8„ Z=d@d9„Z>d:„ Z?d;„ Z@d<efd=„ZAdeeeeB   f   fd>„ZCy)BÚManifestLoaderNÚroot_projectÚall_projectsÚ
macro_hookÚ	file_diffr¬   c                 óÐ  — || _         || _        || _        t        «       | _        | j                  | _        |j                  «       | j                  _        d | _        t        j                  «       | _
        |  |€	d„ | _        n|| _        | j                  «       | _        | j                  «       | j                  _        d| _        d | _        d| _        | j'                  «       | _        y )Nc                  ó   — y rï   rÌ   )Úms    r‘   ú<lambda>z)ManifestLoader.__init__.<locals>.<lambda>  s   � r“   F)rô   rõ   r÷   r4   ÚmanifestÚnew_manifestÚget_metadataÚmetadataÚmacro_resolverÚtimeÚ
started_atrö   Úbuild_perf_infoÚ
_perf_infoÚbuild_manifest_state_checkÚstate_checkÚpartially_parsingÚpartial_parserÚskip_parsingÚread_manifest_for_partial_parseÚsaved_manifest)rí   rô   rõ   rö   r÷   s        r‘   Ú__init__zManifestLoader.__init__ï   sÇ   € ð ,8ˆÔØ9EˆÔØ"ˆŒÜ"*£*ˆŒØ ŸM™MˆÔØ!-×!:Ñ!:Ó!<ˆ�‰ÔØ"ˆÔÜŸ)™)›+ˆŒñ 	ØÐÙ,ˆD�Oà(ˆDŒOà×.Ñ.Ó0ˆŒð %)×$CÑ$CÓ$Eˆ�‰Ô!ð "'ˆÔØ8<ˆÔØ!ˆÔð 37×2VÑ2VÓ2XˆÕr“   F)r÷   ÚresetÚwrite_perf_infoÚconfigr  c                ó  — t        |«      }|r |j                  «        |j                  «        |j                  j                  }t        «       }|j                  st        j                  g g g dœ«      }nLt        j                  j                  d«      r-d}t        |«      r t        |«      }	t        j                  |	«      }t        j                  «       }
|j!                  «       } | ||||¬«      }|j#                  «       }t%        ||«       |j'                  «        |j)                  |«       t        j                  «       |
z
  |j*                  _        |j/                  «        |r|j1                  |j2                  «       |S )N)ÚdeletedÚchangedÚaddedÚDBT_PP_FILE_DIFF_TESTzfile_diff.json)rö   r÷   )r   Úclear_dependenciesÚclear_macro_resolverÚconnectionsÚset_query_headerr[   ÚPARTIAL_PARSE_FILE_DIFFrj   Ú	from_dictÚosÚenvironÚgetrz   r{   r  Úperf_counterÚload_dependenciesÚloadÚ_check_manifestÚbuild_flat_graphÚsave_macros_to_adapterr  rç   Útrack_project_loadr  Úproject_target_path)Úclsr  r÷   r  r  Úadapterrö   ÚflagsÚfile_diff_pathÚfile_diff_dctÚstart_load_allrè   Úloaderrü   s                 r‘   Úget_full_manifestz ManifestLoader.get_full_manifest  sQ  € ô ˜fÓ%ˆñ Ø×%Ñ%Ô'Ø×(Ñ(Ô*Ø×(Ñ(×9Ñ9ˆ
ä“ˆØ×,Ò,Ü ×*Ñ*à!Ø!Øñó‰Iô �Z‰Z�^‰^Ð3Ô4Ø-ˆNÜ˜>Ô*Ü )¨.Ó 9�Ü$×.Ñ.¨}Ó=�	ô ×*Ñ*Ó,ˆà×+Ñ+Ó-ˆÙØØØ!Øô	
ˆð —;‘;“=ˆä˜ &Ô)Ø×!Ñ!Ô#ð 	×%Ñ% gÔ.ô .2×->Ñ->Ó-@À>Ñ-Qˆ×ÑÔ*Ø×!Ñ!Ô#áØ×"Ñ" 6×#=Ñ#=Ô>àˆr“   c           	      ó  — t        j                  «       }| j                  r| j                  j                  ni }d }| j                  rMt        | j                  | j                  j                  || j                  j                  | j                  ¬«      }n,t        | j                  | j                  j                  |¬«      }|j                  «        |j                  | j                  _        |j                  x}}t        | j                  j                  «      | j                  _        t        j                  «       |z
  | j                  _        d| _        | j%                  |«      }| j                  j&                  €t)        «       | j                  _        | j"                  rt+        t-        «       «       �nAt        j                  «       }| j/                  |«       | j0                  rP| j3                  «       r@t+        t5        d¬«      «       | j6                  | _        |}d| _        | j/                  |«       t        j                  «       |z
  | j                  _        t        j                  «       }t:        t<        t>        t@        tB        tD        tF        tH        tJ        g	}| j                  jM                  «       D ]1  }	|	j                  |vrŒ| jO                  |	||	j                     |«       Œ3 | j                  jQ                  «        | j                  jS                  «        | j                  jU                  «        tV        g}| j                  jM                  «       D ]1  }	|	j                  |vrŒ| jO                  |	||	j                     |«       Œ3 | jY                  «        t        j                  «       |z
  | j                  _-        t        j                  «       }
t]        | j                  | j                  «      }|j_                  «        |j`                  | j                  _0        t        j                  «       |
z
  | j                  _1        | j                  jU                  «        | j                  jd                  | j                  _3        | j                  ji                  «        | jk                  «       }|r| j                  jQ                  «        t        j                  «       }| jm                  | j                  j                  «       | jo                  | j                  j                  | j                  jp                  «       | js                  | j                  j                  «       | ju                  | j                  «       | jw                  | j                  «       | jy                  | j                  «       | j{                  «        | j}                  | j                  j                  «       | j                  «        | j�                  «        | jƒ                  «        | j…                  «        t‡        | j                  «      }|j‰                  «       stŠ        jŒ                  j�                  d«      ‚t        j                  «       |z
  | j                  _H        | j                  j&                  j’                  | j                  _I        | j                  j&                  j”                  | j                  _J        d}| j"                  r€| j                  ji                  «        | jk                  «       }|rT| j                  jQ                  «        | jo                  | j                  j                  | j                  jp                  «       | j"                  r|r| j—                  «        | j™                  «        | j›                  «        | j�                  «        | jŸ                  «        | j¡                  «        | j£                  «        | j                  S )N)rõ   ÚfilesÚsaved_filesÚroot_project_namer÷   )rõ   r/  r0  Fz7change detected to override macro. Starting full parse.©Úreasonz$Semantic Manifest validation failed.)Rr  r  r  r/  r÷   rl   rõ   rü   rô   rÖ   rm   Ú
read_filesÚproject_parser_filesÚlenr  rÝ   râ   r	  Ú*safe_update_project_parser_files_partiallyÚ_parsing_infor6   r�   rQ   Úload_and_parse_macrosr  Ú&skip_partial_parsing_because_of_macrosrT   rý   rã   rg   rs   r_   rr   rq   ra   re   rb   rc   ÚvaluesÚparse_projectÚrebuild_ref_lookupÚrebuild_doc_lookupÚrebuild_disabled_lookupro   Úcleanup_disabledrä   rt   Úconstruct_sourcesÚsourcesrå   Úmanifest_selectorsÚ	selectorsÚbuild_parent_and_child_mapsÚinject_external_nodesÚprocess_sourcesÚprocess_refsÚdependenciesÚprocess_unit_testsÚprocess_docsÚprocess_metricsÚprocess_saved_queriesÚ#process_model_inferred_primary_keysÚprocess_functionsÚcheck_valid_group_configÚcheck_valid_access_propertyÚcheck_valid_snapshot_configÚcheck_valid_microbatch_configrC   ÚvalidateÚdbtÚ
exceptionsÚParsingErrorræ   rß   rÞ   Ú write_manifest_for_partial_parseÚcheck_for_model_deprecationsÚ"check_for_spaces_in_resource_namesÚ!check_for_microbatch_deprecationsÚcheck_forcing_batch_concurrencyÚ+check_microbatch_model_has_a_filtered_inputÚ)check_function_default_arguments_ordering)rí   Ústart_read_filesr0  Úfile_readerr5  Úorig_project_parser_filesÚstart_load_macrosÚstart_parse_projectsÚparser_typesÚprojectÚstart_patchÚpatcherÚexternal_nodes_modifiedÚstart_processÚsemantic_manifests                  r‘   r   zManifestLoader.loadV  sB  € Ü×,Ñ,Ó.Ðð 48×3FÒ3F�d×)Ñ)×/Ò/ÈBˆØ+/ˆØ�>Š>ä+Ø!×.Ñ.Ø—m‘m×)Ñ)Ø'Ø"&×"3Ñ"3×"@Ñ"@ØŸ.™.ô‰Kô 2Ø!×.Ñ.Ø—m‘m×)Ñ)Ø'ôˆKð 	×ÑÔ Ø)×/Ñ/ˆ�‰ÔØ;F×;[Ñ;[Ð[ÐÐ8Ü%(¨¯©×)<Ñ)<Ó%=ˆ�‰Ô"Ü-1×->Ñ->Ó-@ÐCSÑ-Sˆ�‰Ô*à!ˆÔØ#×NÑNØ ó 
Ðð �=‰=×&Ñ&Ð.Ü*5«-ˆD�M‰MÔ'à×ÒÜÔ0Ó2Ö3ô !%× 1Ñ 1Ó 3ÐØ×&Ñ&Ð';Ô<ð ×%Ò%¨$×*UÑ*UÔ*WÜÜ(ØXôôð !%× 1Ñ 1�”Ø'@Ð$Ø).�Ô&Ø×*Ñ*Ð+?Ô@ä26×2CÑ2CÓ2EÐHYÑ2YˆD�O‰OÔ/ô $(×#4Ñ#4Ó#6Ð ô ÜÜÜ"ÜÜ#ÜÜÜð
0ˆLð  ×,Ñ,×3Ñ3Ó5ò �Ø×'Ñ'Ð/CÑCØØ×"Ñ"ØÐ1°'×2FÑ2FÑGÈõðð �M‰M×,Ñ,Ô.Ø�M‰M×,Ñ,Ô.Ø�M‰M×1Ñ1Ô3ô )˜>ˆLØ×,Ñ,×3Ñ3Ó5ò �Ø×'Ñ'Ð/CÑCØØ×"Ñ"ØÐ1°'×2FÑ2FÑGÈõðð ×!Ñ!Ô#ä48×4EÑ4EÓ4GÐJ^Ñ4^ˆD�O‰OÔ1ô
 ×+Ñ+Ó-ˆKÜ# D×$5Ñ$5°t·}±}ÓEˆGØ×%Ñ%Ô'Ø$+§O¡OˆD�M‰MÔ!Ü48×4EÑ4EÓ4GÈ+Ñ4UˆD�O‰OÔ1ð �M‰M×1Ñ1Ô3ð '+×&7Ñ&7×&JÑ&JˆD�M‰MÔ#ð �M‰M×5Ñ5Ô7Ø&*×&@Ñ&@Ó&BÐ#Ù&Ø—‘×0Ñ0Ô2ô
 !×-Ñ-Ó/ˆMØ× Ñ  ×!2Ñ!2×!?Ñ!?Ô@Ø×Ñ˜d×/Ñ/×<Ñ<¸d×>OÑ>O×>\Ñ>\Ô]Ø×#Ñ# D×$5Ñ$5×$BÑ$BÔCØ×Ñ˜d×/Ñ/Ô0Ø× Ñ  ×!2Ñ!2Ô3Ø×&Ñ& t×'8Ñ'8Ô9Ø×4Ñ4Ô6Ø×"Ñ" 4×#4Ñ#4×#AÑ#AÔBØ×)Ñ)Ô+Ø×,Ñ,Ô.Ø×,Ñ,Ô.Ø×.Ñ.Ô0ä 0°·±Ó ?ÐØ$×-Ñ-Ô/Ü—n‘n×1Ñ1Ð2XÓYÐYô 8<×7HÑ7HÓ7JÈ]Ñ7ZˆD�O‰OÔ4à—‘×+Ñ+×MÑMð �O‰OÔ=ð —‘×+Ñ+×FÑFð �O‰OÔ6ð
 #(ÐØ×Òð �M‰M×5Ñ5Ô7Ø&*×&@Ñ&@Ó&BÐ#Ù&Ø—‘×0Ñ0Ô2Ø×!Ñ!Ø×%Ñ%×2Ñ2Ø×%Ñ%×2Ñ2ôð × Ò Ñ$;à×1Ñ1Ô3à×)Ñ)Ô+Ø×/Ñ/Ô1Ø×.Ñ.Ô0Ø×,Ñ,Ô.Ø×8Ñ8Ô:Ø×6Ñ6Ô8à�}‰}Ðr“   r5  c                 ó¤  — | j                   €|S t        | j                   | j                  j                  «      | _        | j                  j                  «       | _        | j
                  r8t        t        d¬«      t        j                  ¬«       | j                   | _        |S | j                   j                  «        | j                   j                  «        	 | j                  j                  «       }d| _        | j                   | _        |S # t        $ �r»}t        t        d¬«      «       t!        j"                  «       }t!        j$                  |j&                  «      d   }||j)                  «       d   |j*                  d|j,                  › d	|j.                  › �d
œ}d}| j                  j0                  }|rˆd }|| j                   j                  v r| j                   j                  |   }n1|| j                  j                  v r| j                  j                  |   }|r!|j2                  }t        t5        |¬«      «       ||d<   t        t7        |¬«      «       t8        j:                  j<                  �2t>        j@                  |d<   t8        j:                  jC                  |«       tD        jF                  jI                  d«      r|‚Y d }~|S d }~ww xY w)Nz*Nothing changed, skipping partial parsing.©Úmsg©ÚlevelTz-an error occurred. Switching to full reparse.r2  éÿÿÿÿzline z in )Ú	tracebackrÉ   r¨   Úlocationr®   )ÚfileÚparse_file_type)Úexc_infoÚfull_reparse_reasonÚDBT_PP_TEST)%r  rh   rü   r/  r  r	  r�   r„   r€   ÚDEBUGrE  Úbuild_group_mapÚget_parsing_filesr  Ú	ExceptionrT   rq  Ú
format_excÚ
extract_tbÚ__traceback__Ú
splitlinesÚlineÚlinenoÚnameÚprocessing_filert  rO   rN   rU  ÚtrackingÚactive_userr´   rÉ   Útrack_partial_parserr  r  r  )	rí   r5  ÚexcÚtb_infoÚtb_last_frameru  rt  Úfile_idÚsource_files	            r‘   r7  z9ManifestLoader.safe_update_project_parser_files_partially  sq  € Ø×ÑÐ&Ø'Ð'ä,¨T×-@Ñ-@À$Ç-Á-×BUÑBUÓVˆÔØ ×/Ñ/×<Ñ<Ó>ˆÔØ×ÒäÜÐEÔFÌj×N^ÑN^õð !×/Ñ/ˆDŒMðh $Ð#ðc ×Ñ×;Ñ;Ô=à×Ñ×/Ñ/Ô1ð*Ø'+×':Ñ':×'LÑ'LÓ'NÐ$Ø)-�Ô&Ø $× 3Ñ 3�”ðR $Ð#øôQ ó &ô Ü(Ð0_Ô`ôô
 $×.Ñ.Ó0�ä )× 4Ñ 4°S×5FÑ5FÓ GÈÑ K�à!(Ø!(×!3Ñ!3Ó!5°bÑ!9Ø)×.Ñ.Ø"'¨×(<Ñ(<Ð'=¸TÀ-×BTÑBTÐAUÐ Vñ	�ð (*�Ø×-Ñ-×=Ñ=�ÙØ"&�KØ $×"5Ñ"5×";Ñ";Ñ;Ø&*×&9Ñ&9×&?Ñ&?ÀÑ&H™Ø  D§M¡M×$7Ñ$7Ñ7Ø&*§m¡m×&9Ñ&9¸'Ñ&B˜Ù"Ø*5×*EÑ*E˜Ü"Ô#DÈ'Ô#RÔSØ.=�Ð*Ñ+ÜÔ.¸ÔAÔBä—<‘<×+Ñ+Ð7Ü6C×6MÑ6M�HÐ2Ñ3Ü—L‘L×5Ñ5°hÔ?ä—:‘:—>‘> -Ô0Ø�Ió 1ð $Ð#ûðQ&ús   Ã2D
 Ä

KÄF0K
Ë
Kc                 óR  — | j                   j                  «        | j                   j                  j                  «       D �]e  }t	        |t
        «      sŒ|j                  sŒ"|j                  rLt        t        |j                  t        |j                  «      |j                  j                  «       ¬«      «       | j                   j                  |j                     }|D ]Ä  }| j                   j                  j!                  |«      }t	        |t
        «      sŒ9|j                  rt"        }nt$        }t         ||j                  |j&                  |j                  t        |j                  «      t)        |j*                  «      |j                  j                  «       ¬«      «       ŒÆ �Œh y )N)Ú
model_nameÚmodel_versionÚdeprecation_date)r�  Úref_model_packageÚref_model_nameÚref_model_versionÚref_model_latest_versionÚref_model_deprecation_date)rü   rE  Únodesr;  r¯   r<   r�  Úis_past_deprecation_daterƒ   rE   r‚  r²   r«   rš   Ú	child_mapÚ	unique_idr  rF   rU   Úpackage_namer±   Úlatest_version)rí   ÚnodeÚchild_nodesÚchild_unique_idÚ
child_nodeÚ	event_clss         r‘   rY  z+ManifestLoader.check_for_model_deprecationsW  s:  € à�‰×1Ñ1Ô3Ø—M‘M×'Ñ'×.Ñ.Ó0ó  	ˆDÜ˜$¤	Õ*¨t×/DÓ/DØ×0Ò0Ü!Ü'Ø'+§y¡yÜ*8¸¿¹Ó*FØ-1×-BÑ-B×-LÑ-LÓ-Nôôð #Ÿm™m×5Ñ5°d·n±nÑE�Ø'2ò �OØ!%§¡×!4Ñ!4×!8Ñ!8¸Ó!I�JÜ% j´)Ô<Ø Ø×4Ò4Ü$7™	ä$@˜	ä!Ù!Ø'1§¡Ø.2×.?Ñ.?Ø+/¯9©9Ü.<¸T¿\¹\Ó.JÜ58¸×9LÑ9LÓ5MØ7;×7LÑ7L×7VÑ7VÓ7Xôõ	òñ 	r“   c                 óº  ‡ — t        «       }‰ j                  j                  j                  }|rt        j
                  nt        j                  }t        «       }‰ j                  j                  j                  «       D ]h  }d|j                  v sŒ|s|r|j                  r,t        t        |j                  |j                   ¬«      |¬«       |j#                  |j                  «       Œj |rs|t        j                  k(  r7t$        j&                  j)                  dt+        |«      |j                   ¬«       y
dj-                  ˆ fd„|D «       «      }t/        d|› d	�«      ‚y
)aü  Validates that resource names do not contain spaces

        If `DEBUG` flag is `False`, logs only first bad model name, unless `REQUIRE_RESOURCE_NAMES_WITHOUT_SPACES` is `True` as error will indicate all bad model names
        If `DEBUG` flag is `True`, logs every bad model name
        If `REQUIRE_RESOURCE_NAMES_WITHOUT_SPACES` is `True`, logs are `ERROR` level and an exception is raised if any names are bad
        If `REQUIRE_RESOURCE_NAMES_WITHOUT_SPACES` is `False`, logs are `WARN` level
        ú )r˜  ro  rn  zresource-names-with-spaces)Úcount_invalid_namesÚshow_debug_hintú
c              3   ór   •K  — | ].  }d |› d‰j                   j                  |   j                  › d�–— Œ0 y­w)z  * 'z' (ú)N)rü   r•  Úoriginal_file_path)Ú.0r˜  rí   s     €r‘   ú	<genexpr>zDManifestLoader.check_for_spaces_in_resource_names.<locals>.<genexpr>¢  s?   øè ø€ ò <à!ð ˜I˜; c¨$¯-©-×*=Ñ*=¸iÑ*H×*[Ñ*[Ð)\Ð\]Ô^ñ<ùs   ƒ47z&Resource names cannot contain spaces:
zT
Please rename the invalid model(s) so that their name(s) do not contain any spaces.N)Úsetrô   ÚargsÚ%REQUIRE_RESOURCE_NAMES_WITHOUT_SPACESr€   ÚERRORÚWARNr[   rü   r•  r;  r‚  rx  r�   rR   r˜  ÚvalueÚaddrU  ÚdeprecationsÚwarnr6  Újoinr…   )rí   Ú"improper_resource_names_unique_idsÚerror_on_invalid_resource_namero  r(  r›  Úformatted_resources_with_spacess   `      r‘   rZ  z1ManifestLoader.check_for_spaces_in_resource_names|  s?  ø€ ô .1«UÐ*à×Ñ×"Ñ"×HÑHð 	'ñ %C”
× Ò Ì
ÏÉˆä“ˆà—M‘M×'Ñ'×.Ñ.Ó0ò 	GˆDØ�d—i‘iÒá:ÑCaØ—[’[ÜÜ7Ø&*§n¡nØ"'§+¡+ôð $õð 3×6Ñ6°t·~±~ÕFð	Gñ .Øœ
Ÿ™Ò'Ü× Ñ ×%Ñ%Ø0Ü(+Ð,NÓ(OØ).¯© _ð &õ ð 37·)±)ó <à%Gô<ó 3Ð/ô )Ø=Ð>]Ð=^ð  _tð  uóð ð .r“   c                 ó¾  — t        «       j                  sÉd}| j                  j                  j	                  «       D ]M  \  }}t        |t        «      sŒ|j                  j                  dk(  sŒ1|j                  j                  dk(  sŒKd} n |rP| j                  j                  | j                  j                  «      s t        j                  j                  d«       y y y y )NFÚincrementalÚ
microbatchTz/microbatch-macro-outside-of-batches-deprecation)r[   Ú8require_batched_execution_for_custom_microbatch_strategyrü   r•  Úitemsr¯   r<   r  ÚmaterializedÚincremental_strategyÚ_microbatch_macro_is_corerô   rÖ   rU  r±  r²  )rí   Úhas_microbatch_modelÚ_r›  s       r‘   r[  z0ManifestLoader.check_for_microbatch_deprecationsª  sº   € Ü‹{×SÒSØ#(Ð ØŸ=™=×.Ñ.×4Ñ4Ó6ò ‘��4ä˜t¤YÕ/ØŸ™×0Ñ0°MÓAØŸ™×8Ñ8¸LÓHà+/Ð(Ùðñ $¨D¯M©M×,SÑ,SØ×!Ñ!×.Ñ.ô-ô × Ñ ×%Ñ%Ð&WÕXð-Ð#ð Tr“   c                 óœ  — | j                   j                  «       D �]  }|j                  |vrŒ||j                     }d|v rrt        || j                  «      }|d   D ]T  }t        | j                  j                  |   «      }|j                  |«       | j                  xj                  dz  c_	        ŒV d|v sŒ�t        || j                  «      }|d   D ]T  }t        | j                  j                  |   «      }|j                  |«       | j                  xj                  dz  c_	        ŒV �Œ | j                  «        | j                  «        y )Nrf   r–   rd   )rõ   r;  rÖ   rf   rü   rp   r/  Ú
parse_filer  rÑ   rd   Úbuild_macro_resolverÚmacro_depends_on)rí   r5  re  Úparser_filesrÏ   rŠ  Úblocks          r‘   r9  z$ManifestLoader.load_and_parse_macros»  s/  € Ø×(Ñ(×/Ñ/Ó1ó 	;ˆGØ×#Ñ#Ð+?Ñ?ØØ/°×0DÑ0DÑEˆLØ Ñ,Ü$ W¨d¯m©mÓ<�Ø+¨MÑ:ò ;�GÜ% d§m¡m×&9Ñ&9¸'Ñ&BÓC�EØ×%Ñ% eÔ,à—O‘O×5Ò5¸Ñ:Ö5ð	;ð # lÒ2Ü*¨7°D·M±MÓB�Ø+Ð,?Ñ@ò ;�GÜ% d§m¡m×&9Ñ&9¸'Ñ&BÓC�EØ×%Ñ% eÔ,à—O‘O×5Ò5¸Ñ:Ö5ò	;ð	;ð* 	×!Ñ!Ô#à×ÑÕr“   re  rd  c           	      ó
  — | j                   j                  |j                     }t        j                  «       }d}|D �]S  }|j
                  }||vs||   sŒd}	t        j                  «       }
 ||| j                  | j                  «      }||   D ]³  }t        | j                  j                  |   «      }t        |t        «      rit        |j                  t        «      sJ ‚| j                  r|j                  j                  }n|j                  j                   }|j#                  ||¬«       n|j#                  |«       |	dz  }	Œµ |j$                  j'                  t)        |j*                  |	t        j                  «       |
z
  ¬«      «       ||	z  }�ŒV | j                  s}t,        |v rut-        || j                  | j                  «      }|j/                  «       }t1        |t2        j4                  |j                  i «      }|rt        |«      }|j#                  |«       t        j                  «       |z
  }|j6                  |z   |_        |xj8                  |z  c_        | j                   j6                  |z   | j                   _        y )Nr   )rê   r–   )rÏ   rÑ   rÐ   )r  ré   rÖ   r  r  r¿   rü   rô   rp   r/  r¯   ro   rs  r1   r  Úpp_dictÚdict_from_yamlrÂ  rÙ   ÚappendrÎ   Úresource_typere   Úget_pathrn   r0   ÚHookrÑ   rÐ   )rí   re  rÅ  rd  Úproject_loader_infoÚstart_timerÚtotal_parsed_path_countÚ
parser_clsÚparser_nameÚproject_parsed_path_countÚparser_start_timerrÏ   rŠ  rÆ  rê   Úhook_parserÚpathrs  Ú
file_blockrÐ   s                       r‘   r<  zManifestLoader.parse_project×  sN  € ð #Ÿo™o×<Ñ<¸W×=QÑ=QÑRÐÜ×'Ñ'Ó)ˆØ"#Ðð 'ó $	AˆJØ$×-Ñ-ˆKà ,Ñ.°lÀ;Ò6OØð )*Ð%Ü!%×!2Ñ!2Ó!4Ðñ (¨°·±À×@QÑ@QÓRˆFØ'¨Ñ4ò /�Ü! $§-¡-×"5Ñ"5°gÑ">Ó?�Ü˜f¤lÔ3Ü% e§j¡jÔ2BÔCÐCÐCØ×-Ò-Ø#Ÿj™j×0Ñ0™à#Ÿj™j×7Ñ7˜à×%Ñ% e°Ð%Õ5ð ×%Ñ% eÔ,Ø)¨QÑ.Ñ)ð/ð"  ×'Ñ'×.Ñ.ÜØ!×/Ñ/Ø&?Ü ×-Ñ-Ó/Ð2DÑDôôð $Ð'@Ñ@Ò#ðI$	AðV ×%Ò%¬*¸Ñ*DÜ$ W¨d¯m©m¸T×=NÑ=NÓOˆKØ×'Ñ'Ó)ˆDÜ# D¬-×*<Ñ*<¸g×>RÑ>RÐTVÓWˆDÙÜ& t›_�
Ø×&Ñ& zÔ2ô ×#Ñ#Ó%¨Ñ3ˆà×1Ñ1Ð4KÑKð 	Ô-ð 	×#Ò# wÑ.Õ#à�O‰O×-Ñ-Ð0GÑGð 	�‰Õ)r“   c                 óÊ   — t        | j                  j                  j                  «      }t	        | j
                  j                  | j                  j                  |«      | _        y rï   )	r   rô   Úcredentialsr˜   r+   rü   ÚmacrosrÖ   r   )rí   Úinternal_package_namess     r‘   rÃ  z#ManifestLoader.build_macro_resolver!  sJ   € Ü!:¸4×;LÑ;L×;XÑ;X×;]Ñ;]Ó!^ÐÜ+Ø�M‰M× Ñ  $×"3Ñ"3×"@Ñ"@ÐBXó
ˆÕr“   c                 ól  — t        | j                  «      }t        | j                  i d t	        «       g «      }t        | j                  «      }t        «       j                  ||«      }| j                  j                  j                  «       D ]¨  }|j                  | j                  k  rŒt        |j                  ||«      }|D ]p  }||j                  k(  rŒ|j                   }d|v r|j#                  d«      \  }}| j                  j%                  ||«      }	|	sŒV|j&                  j)                  |	«       Œr Œª y )Nú.)r)   rô   r,   r   r!   r   r-   ÚDatabaseWrapperrü   rÚ  r;  Ú
created_atr  r#   Ú	macro_sqlr‚  r™  ÚsplitÚget_macro_idÚ
depends_onÚ	add_macro)
rí   Ú	macro_ctxÚmacro_namespacer'  Ú
db_wrapperÚmacroÚpossible_macro_callsÚ
macro_namer™  Údep_macro_ids
             r‘   rÄ  zManifestLoader.macro_depends_on)  s  € Ü*¨4×+<Ñ+<Ó=ˆ	Ü,¨T×-@Ñ-@À"ÀdÌJËLÐZ\Ó]ˆÜ˜d×/Ñ/Ó0ˆÜ"“_×4Ñ4°W¸oÓNˆ
Ø—]‘]×)Ñ)×0Ñ0Ó2ò 	=ˆEØ×Ñ $§/¡/Ò1ØÜ#AØ—‘ ¨Jó$Ð ð 3ò 
=�
ð  §¡Ò+ØØ$×1Ñ1�Ø˜*Ñ$Ø/9×/?Ñ/?ÀÓ/DÑ,�L *Ø#×2Ñ2×?Ñ?ÀÈjÓY�ÚØ×$Ñ$×.Ñ.¨|Õ<ñ
=ñ	=r“   c                 ó:  — t         j                  j                  | j                  j                  t
        «      }	 | j                  j                  j                  t        k7  r4t        t        d¬«      «       t        | j                  j                  _        | j                  j                  t        «      }t        t         j                  j                  |«      «       t!        |d«      5 }|j#                  |«       d d d «       y # 1 sw Y   y xY w# t$        $ r ‚ w xY w)Nz*saved manifest contained the wrong versionr2  Úwb)r  rÖ  r³  rô   r%  r'   rü   rÿ   Údbt_versionrw   r�   rT   Ú
to_msgpackr’   ry   ÚdirnameÚopenÚwriter{  )rí   rÖ  Úmanifest_msgpackÚfps       r‘   rX  z/ManifestLoader.write_manifest_for_partial_parse@  sÒ   € Ü�w‰w�|‰|˜D×-Ñ-×AÑAÔCZÓ[ˆð	ð �}‰}×%Ñ%×1Ñ1´[Ò@ÜÜ(Ð0\Ô]ôô 6A�—‘×&Ñ&Ô2Ø#Ÿ}™}×7Ñ7Ô8RÓSÐÜœ2Ÿ7™7Ÿ?™?¨4Ó0Ô1Ü�d˜DÓ!ð + RØ—‘Ð)Ô*÷+÷ +ñ +ûäò 	Øð	ús*   ºB.D Ã(DÃ:D ÄDÄD ÄD ÄDc                 ó�  — d}| j                   j                  D ]  }t        | j                   |«       d}Œ | j                   j                  D ]'  }| j                   j                  j	                  |«       Œ) t        j                  | j                  j                  «      }|j                  «       j                  }|j                  «       D ]z  }t        j                  |«      }|j                  | j                   j                  vsŒ;|j                  | j                   j                  vsŒ^| j                   j!                  |«       d}Œ| |S )NFT)rü   Úexternal_node_unique_idsÚ#remove_dependent_project_referencesr•  Úpopr   Úget_plugin_managerrô   rÖ   Ú	get_nodesÚmodelsr;  r<   Ú	from_argsr˜  ÚdisabledÚadd_node_nofile)rí   Úmanifest_nodes_modifiedr˜  ÚpmÚplugin_model_nodesÚnode_argr›  s          r‘   rF  z$ManifestLoader.inject_external_nodesQ  s  € à"'ÐàŸ™×?Ñ?ò 	+ˆIÜ/°·±¸yÔIØ&*Ñ#ð	+ð Ÿ™×?Ñ?ò 	/ˆIà�M‰M×Ñ×#Ñ# IÕ.ð	/ô
 ×'Ñ'¨×(9Ñ(9×(FÑ(FÓGˆØŸ\™\›^×2Ñ2ÐØ*×1Ñ1Ó3ò 		/ˆHÜ×&Ñ& xÓ0ˆDð —‘ d§m¡m×&9Ñ&9Ò9Ø—N‘N¨$¯-©-×*@Ñ*@Ò@à—‘×-Ñ-¨dÔ3Ø*.Ñ'ð		/ð 'Ð&r“   rü   c                 óÀ  — d}d}|j                   j                  t        k7  r't        t	        d¬«      «       dt
        j                  fS | j                  j                  j                  |j                  j                  k7  r˜t        t	        d¬«      «       t        t        d| j                  j                  j                  j                  › d|j                  j                  j                  › �¬	«      t        j                  ¬
«       d}t
        j                  }| j                  j                  j                  |j                  j                  k7  r't        t	        d¬«      «       d}t
        j                   }| j                  j                  j"                  |j                  j"                  k7  r't        t	        d¬«      «       d}t
        j$                  }| j                  j                  j&                  D �ch c]  }||j                  j&                  vr|’Œ }}|r't        t	        d¬«      «       d}t
        j(                  }| j                  j                  j&                  j+                  «       D ]d  \  }}||j                  j&                  v sŒ|j                  j&                  |   }||k7  sŒ>t        t	        d¬«      «       d}t
        j,                  }Œf ||fS c c}w )z�Compare the global hashes of the read-in parse results' values to
        the known ones, and return if it is ok to re-use the results.
        TNzof a version mismatchr2  Fz:config vars, config profile, or config target have changedzprevious checksum: z, current checksum: rl  rn  zprofile has changedz-env vars used in dbt_project.yml have changedz#a project dependency has been addedza project config has changed)rÿ   rî  rw   r�   rT   r´   rÂ   rü   r  Ú	vars_hashr„   Úchecksumr€   rx  rÄ   Úprofile_hashrÅ   Úproject_env_vars_hashrÊ   Úproject_hashesrÆ   r»  rÇ   )	rí   rü   ÚvalidÚreparse_reasonÚkÚmissing_keysÚkeyÚ	new_valueÚ	old_values	            r‘   Úis_partial_parsablez"ManifestLoader.is_partial_parsablel  sŒ  € ð ˆØˆà×Ñ×(Ñ(¬KÒ7äÔ+Ð3JÔKÔLàœ-×8Ñ8Ð8Ð8Ø�=‰=×$Ñ$×.Ñ.°(×2FÑ2F×2PÑ2PÒPÜÜ$ØWôôô
 ÜØ-¨d¯m©m×.GÑ.G×.QÑ.Q×.ZÑ.ZÐ-[Ð[oÐpx÷  qEñ  qE÷  qOñ  qO÷  qXñ  qXð  pYð  Zôô !×&Ñ&õ	ð ˆEÜ*×7Ñ7ˆNØ�=‰=×$Ñ$×1Ñ1°X×5IÑ5I×5VÑ5VÒVô Ô+Ð3HÔIÔJØˆEÜ*×:Ñ:ˆNà�M‰M×%Ñ%×;Ñ;Ø×#Ñ#×9Ñ9ò:ô Ü$Ð,[Ô\ôð ˆEÜ*×@Ñ@ˆNð —]‘]×.Ñ.×=Ñ=ö
àØ˜×,Ñ,×;Ñ;Ñ;ò ð
ˆð 
ñ
 ÜÔ+Ð3XÔYÔZØˆEÜ*×7Ñ7ˆNà"Ÿm™m×7Ñ7×FÑF×LÑLÓNò 	J‰NˆC�Ø�h×*Ñ*×9Ñ9Ò9Ø$×0Ñ0×?Ñ?ÀÑD�	Ø 	Ó)ÜÔ3Ð;YÔZÔ[Ø!�EÜ%2×%IÑ%I‘Nð	Jð �nÐ$Ð$ùò#
s   Ç6!Kc                 óX  — | j                   sy| j                   j                  ryt        D ]}  }| j                  j	                  d |«      }|sŒ"|j
                  dk7  sŒ2|j                  | j                   j                  d   v s&|j                  | j                   j                  d   v sŒ} y y)NFTrU  r  r  )r  Údeleted_special_override_macrori   r   Ú	get_macror™  rŠ  r÷   )rí   rê  rè  s      r‘   r:  z5ManifestLoader.skip_partial_parsing_because_of_macros©  s›   € Ø×"Ò"ØØ×Ñ×=Ò=Øä1ò 	 ˆJØ×'Ñ'×1Ñ1°$¸
ÓCˆEÚ˜×+Ñ+¨uÓ4à—M‘M T×%8Ñ%8×%BÑ%BÀ9Ñ%MÑMØ—}‘}¨×(;Ñ(;×(EÑ(EÀgÑ(NÒNñ  ð	 ð r“   c           	      ó  — t        «       }|j                  st        t        «       «       y |j                  xs8 t
        j                  j                  | j                  j                  t        «      }d }t
        j                  j                  |«      rµ	 t        |d«      5 }|j                  «       }d d d «       t        j                  t         ¬«      }| j#                  |«      \  }}|r]t%        j&                  t(        j*                  «      j-                  d ¬«      |j.                  _        t3        «       |j.                  _        |S n%t        tE        d¬«      «       t@        jF                  }tH        jJ                  jL                  �!tH        jJ                  jO                  d|i«       y # 1 sw Y   ŒùxY w# t6        $ rL}t        t9        |t;        |«      t=        j>                  «       ¬«      «       t@        jB                  }Y d }~Œ˜d }~ww xY w)NÚrb)Údecoder)Útzinfo)rÖ  r‡  ru  z.saved manifest not found. Starting full parse.r2  rv  )(r[   ÚPARTIAL_PARSEr�   rP   ÚPARTIAL_PARSE_FILE_PATHr  rÖ  r³  rô   r%  r'   Úexistsrñ  Úreadr4   Úfrom_msgpackr¤   r  r   Únowr   ÚutcÚreplacerÿ   Úgenerated_atr‚   Úinvocation_idr{  rL   r±   rq  r|  r´   rÈ   rT   rÃ   rU  r„  r…  r†  )	rí   r(  rÖ  r
  rô  Úmanifest_mprü   r  r‡  s	            r‘   r
  z.ManifestLoader.read_manifest_for_partial_parseº  s¤  € Ü“ˆØ×"Ò"ÜÔ/Ó1Ô2ØØ×,Ñ,ò 
´·±·±Ø×Ñ×1Ñ1Ô3Jó1
ˆð ˆä�7‰7�>‰>˜$ÔðAÜ˜$ Ó%ð ,¨Ø"$§'¡'£)�K÷,ä%-×%:Ñ%:¸;ÔPjÔ%k�ð 7;×6NÑ6NÈxÓ6XÑ3Ð# ^Ù&ä5=·\±\Ä(Ç,Á,Ó5O×5WÑ5WØ#ð 6Xó 6�H×%Ñ%Ô2ô 7HÓ6I�H×%Ñ%Ô3Ø#�Oð 'ô Ü$Ð,\Ô]ôô +×9Ñ9ˆNô �<‰<×#Ñ#Ð/Ü�L‰L×-Ñ-Ð/DÀnÐ.UÔVà÷=,ð ,ûô ò AÜÜ(¨d¼¸C»Ì9×K_ÑK_ÓKaÔbôô "/×!@Ñ!@•ûð	Aús2   ÂF4 ÂF(Â0BF4 Æ(F1Æ-F4 Æ4	H	Æ=AHÈH	c                 ó0  — t        «       }t        |j                  |j                  ¬«      }| j                  j                  «       D ]M  }t        |j                  d¬«      }|j                  j                  |«       ||j                  |j                  <   ŒO |S )N)rà   rá   r   )rÖ   rÐ   )r[   rÜ   r  ÚSTATIC_PARSERrõ   r;  rÕ   rÖ   rè   rÊ  ré   )rí   r(  Úmlire  Úproject_infos        r‘   r  zManifestLoader.build_perf_infoç  sŽ   € Ü“ˆÜ Ø%*×%8Ñ%8Ø',×':Ñ':ô
ˆð ×(Ñ(×/Ñ/Ó1ò 	DˆGÜ,Ø$×1Ñ1ØôˆLð �L‰L×Ñ Ô-Ø7CˆC×Ñ˜w×3Ñ3Ò4ð	Dð ˆ
r“   c                 óN  — | j                   }| j                  }|j                  j                  «       D ��cg c].  \  }}|j	                  t
        «      sŒ|j                  «       sŒ-|‘Œ0 }}}t        j                  |j                  «      }t        j                  dj                  |t        |j                  dd«      xs dt        |j                  dd«      xs dt        g«      «      }t        t!        |j"                  t%        ||«      |j                  j&                  |j                  j(                  t        ¬«      «       t+        |j,                  j/                  «       «      }|j1                  «        d}	|D ]  }
|	|
› d|j,                  |
   › d�z  }	Œ t        j                  |	«      }t+        |j2                  j5                  «       «      }|j1                  «        t        j                  t        j                  |«      «      }i }|j                  «       D ]i  \  }}t6        j8                  j                  |j:                  d«      }t=        |«      5 }t        j                  |j?                  «       «      ||<   d d d «       Œk tA        ||||¬	«      }|S c c}}w # 1 sw Y   ŒŒxY w)
Nú Úprofiler®   Útarget)r  Úvarsr)  r*  r«   ú:ú|zdbt_project.yml)r  r  r  r  )!rô   rõ   Úcli_varsr»  Ú
startswithr}   ÚstripÚpprintÚpformatr   Úfrom_contentsr³  Úgetattrr«  rw   r�   rS   r  rZ   r)  r*  rÚ   Úproject_env_varsÚkeysÚsortrÙ  Úconnection_infor  rÖ  Úproject_rootrñ  r  r5   )rí   r  rõ   r  ÚvÚsecret_varsÚstringified_cli_varsr  Úkey_listÚenv_var_strr  r  Úconnection_keysr  r  r‚  re  rÖ  rô  r  s                       r‘   r  z)ManifestLoader.build_manifest_state_checkø  s^  € Ø×"Ñ"ˆØ×(Ñ(ˆð !Ÿ/™/×/Ñ/Ó1÷
Ù�!�Q°Q·\±\ÔBSÕ5TÐYZ×Y`ÑY`ÕYbŠAð
ˆñ 
ô  &Ÿ~™~¨f¯o©oÓ>ÐÜ×*Ñ*Ø�K‰Kà(Ü˜FŸK™K¨°BÓ7Ò=¸2Ü˜FŸK™K¨°2Ó6Ò<¸"Üð	óó	
ˆ	ô 	ÜØ"×+Ñ+Ü"Ð#7¸ÓEØŸ™×+Ñ+Ø—{‘{×)Ñ)Ü#ôô	
ô ˜×/Ñ/×4Ñ4Ó6Ó7ˆØ�‰ŒØˆØò 	DˆCØ˜c˜U ! F×$;Ñ$;¸CÑ$@Ð#AÀÐCÑC‰Kð	Dä (× 6Ñ 6°{Ó CÐô ˜v×1Ñ1×AÑAÓCÓDˆà×ÑÔÜ×-Ñ-¬f¯n©n¸_Ó.MÓNˆð ˆØ)×/Ñ/Ó1ò 	I‰MˆD�'Ü—7‘7—<‘< × 4Ñ 4Ð6GÓHˆDÜ�d“ð I˜rÜ'/×'=Ñ'=¸b¿g¹g»iÓ'H�˜tÑ$÷Ið Ið	Iô )Ø"7ØØ%Ø)ô	
ˆð Ðùów
÷bIð Iús   ¶JÁJÁ%JÉ'JÊJ$	c                 óœ   — |j                  | j                  «       t        |j                  | j                  «      }| j	                  |«       y rï   )Úset_macro_resolverrü   r/   r  rö   )rí   r'  Úquery_header_contexts      r‘   r#  z%ManifestLoader.save_macros_to_adapterA  s8   € Ø×"Ñ" 4§=¡=Ô1ô  =¸W¿^¹^ÈTÏ]É]Ó[ÐØ�‰Ð,Õ-r“   c                 ó\  — | j                   j                  «       D ]o  }t        || j                  «      }|j	                  «       D ]D  }t        |t        j                  |j                  i «      }t        |«      }|j                  |«       ŒF Œq t        | j                  j                  «      }|S rï   )rõ   r;  rf   rü   Ú	get_pathsrn   r0   r9   rÖ   rp   rÂ  r3   rÚ  )rí   re  Úmacro_parserrÖ  r‹  rÆ  Úmacro_manifests          r‘   Úcreate_macro_manifestz$ManifestLoader.create_macro_manifestL  s›   € Ø×(Ñ(×/Ñ/Ó1ò 	/ˆGä& w°·±Ó>ˆLØ$×.Ñ.Ó0ò /�Ü.¨t´]×5HÑ5HÈ'×J^ÑJ^Ð`bÓc�Ü! +Ó.�ð ×'Ñ'¨Õ.ñ/ð	/ô ' t§}¡}×';Ñ';Ó<ˆØÐr“   Úroot_configc                 óZ   — |j                  |¬«      } | |||«      }|j                  «       S )N)Ú	base_only)r  rG  )r&  rH  rö   Úbase_macros_onlyrè   r,  s         r‘   Úload_macroszManifestLoader.load_macros`  s7   € ð ×0Ñ0Ð;KÐ0ÓLˆñ
 �[ (¨JÓ7ˆà×+Ñ+Ó-Ð-r“   c                 ó„  — t        «       }t        j                  j                  || j                  j                  «       | j                  j                  | j                  j                  | j                  j                  | j                  j                  | j                  j                  | j                  j                  | j                  j                  | j                  j                  | j                  j                  | j                  j                   | j                  j"                  | j                  j$                  dœ«       y )N)r!  Ú
project_idrÝ   rÑ   râ   rã   rä   rå   ræ   rç   rà   rá   rÞ   rß   )r‚   rU  r„  r$  rô   Úhashed_namer  rÝ   rÑ   râ   rã   rä   rå   ræ   rç   rà   rá   rÞ   rß   )rí   r!  s     r‘   r$  z!ManifestLoader.track_project_loads  sÒ   € Ü)Ó+ˆÜ�‰×'Ñ'à!.Ø"×/Ñ/×;Ñ;Ó=Ø"Ÿo™o×8Ñ8Ø%)§_¡_×%FÑ%FØ&*§o¡o×&HÑ&HØ'+§¡×'JÑ'JØ)-¯©×)NÑ)NØ)-¯©×)NÑ)NØ-1¯_©_×-UÑ-UØ$(§O¡O×$DÑ$DØ-1¯_©_×-UÑ-UØ.2¯o©o×.XÑ.XØ.2¯o©o×.XÑ.XØ59·_±_×5fÑ5fñõ	
r“   Úcurrent_projectrI  c                 ó´  — | j                   j                  j                  «       D ]4  }|j                  | j                  k  rŒt        | j                   |||«       Œ6 | j                   j                  j                  «       D ]4  }|j                  | j                  k  rŒt        | j                   |||«       Œ6 | j                   j                  j                  «       D ]4  }|j                  | j                  k  rŒt        | j                   |||«       Œ6 | j                   j                  j                  «       D ]E  }|j                  | j                  k  rŒt        | j                   |||«       | j                  |«       ŒG | j                   j                  j                  «       D ]4  }|j                  | j                  k  rŒt        | j                   |||«       Œ6 y rï   )rü   r•  r;  rß  r  Ú_process_refsÚ	exposuresÚmetricsÚsemantic_modelsÚupdate_semantic_modelÚ	functions)rí   rP  rI  r›  ÚexposureÚmetricÚsemantic_modelÚfunctions           r‘   rH  zManifestLoader.process_refsŠ  s‹  € Ø—M‘M×'Ñ'×.Ñ.Ó0ò 	NˆDØ�‰ §¡Ò0ØÜ˜$Ÿ-™-¨¸$ÀÕMð	Nð Ÿ™×/Ñ/×6Ñ6Ó8ò 	RˆHØ×"Ñ" T§_¡_Ò4ØÜ˜$Ÿ-™-¨¸(ÀLÕQð	Rð —m‘m×+Ñ+×2Ñ2Ó4ò 	PˆFØ× Ñ  4§?¡?Ò2ØÜ˜$Ÿ-™-¨¸&À,ÕOð	Pð #Ÿm™m×;Ñ;×BÑBÓDò 	7ˆNØ×(Ñ(¨4¯?©?Ò:ØÜ˜$Ÿ-™-¨¸.È,ÔWØ×&Ñ& ~Õ6ð		7ð
 Ÿ™×/Ñ/×6Ñ6Ó8ò 	RˆHØ×"Ñ" T§_¡_Ò4ØÜ˜$Ÿ-™-¨¸(ÀLÕQñ	Rr“   c                 óf  — |j                   }| j                  j                  j                  «       D ]J  }|j                  | j
                  k  rŒt        | j                  ||«       t        | j                  ||«       ŒL | j                  j                  j                  «       D ]3  }|j                  | j
                  k  rŒt        | j                  ||«       Œ5 | j                  j                  j                  «       D ]3  }|j                  | j
                  k  rŒt        | j                  ||«       Œ5 y rï   )
rÖ   rü   rT  r;  rß  r  Ú_process_metric_nodeÚ_process_metrics_for_noder•  rS  )rí   r  rP  rY  r›  rX  s         r‘   rL  zManifestLoader.process_metrics£  sú   € Ø ×-Ñ-ˆØ—m‘m×+Ñ+×2Ñ2Ó4ò 	NˆFØ× Ñ  4§?¡?Ò2ØÜ  §¡°ÀÔHÜ% d§m¡m°_ÀfÕMð		Nð
 —M‘M×'Ñ'×.Ñ.Ó0ò 	LˆDØ�‰ §¡Ò0ØÜ% d§m¡m°_ÀdÕKð	Lð Ÿ™×/Ñ/×6Ñ6Ó8ò 	PˆHØ×"Ñ" T§_¡_Ò4ØÜ% d§m¡m°_ÀhÕOñ	Pr“   c                 óØ  — d}t        | j                  j                  j                  «       | j                  j                  j                  «       | j                  j
                  j                  «       «      }|D ]  }|j                  | j                  kD  sŒd} n |du ry|j                  }| j                  j                  j                  «       D ]  }t        | j                  ||«       Œ y)z:Processes SavedQuery nodes to populate their `depends_on`.FTN)
r	   rü   Úsaved_queriesr;  rU  rT  rß  r  rÖ   r^  )rí   r  Úsemantic_manifest_changedÚsemantic_manifest_nodesr›  rP  Úsaved_querys          r‘   rM  z$ManifestLoader.process_saved_queries³  sÐ   € ð
 %*Ð!Ü?DØ�M‰M×'Ñ'×.Ñ.Ó0Ø�M‰M×)Ñ)×0Ñ0Ó2Ø�M‰M×!Ñ!×(Ñ(Ó*ó@
Ðð
 ,ò 	ˆDà�‰ §¡Ó0Ø,0Ð)Ùð		ð
 %¨Ñ-Øà ×-Ñ-ˆØŸ=™=×6Ñ6×=Ñ=Ó?ò 	SˆKô & d§m¡m°_ÀkÕRñ		Sr“   c                 óT  — i }| j                   j                  j                  «       D ]  }t        |t        «      sŒ|j
                  | j                  k  rŒ.|s| j                  «       }g }|j                  |v r||j                     }|j                  |«      }t        |«      |_        Œ� y)z6Processes Model nodes to populate their `primary_key`.N)rü   r•  r;  r¯   r<   rß  r  Ú build_model_to_generic_tests_mapr˜  Úinfer_primary_keyÚsortedÚprimary_key)rí   Úmodel_to_generic_test_mapr›  Úgeneric_testsrh  s        r‘   rN  z2ManifestLoader.process_model_inferred_primary_keysÍ  s™   € àFHÐ!Ø—M‘M×'Ñ'×.Ñ.Ó0ò 	3ˆDÜ˜d¤IÔ.ØØ�‰ §¡Ò0ØÙ,Ø,0×,QÑ,QÓ,SÐ)Ø35ˆMØ�~‰~Ð!:Ñ:Ø 9¸$¿.¹.Ñ I�Ø×0Ñ0°Ó?ˆKÜ% kÓ2ˆDÕñ	3r“   c                 óè   — |j                   d   rc| j                  j                  |j                   d      }t        |j                  |j
                  |j                  |j                  ¬«      |_        y y )Nr   )Úrelation_nameÚaliasÚschema_nameÚdatabase)	Údepends_on_nodesrü   r•  r   rl  rm  Úschemaro  Únode_relation)rí   rZ  Ú	refd_nodes      r‘   rV  z$ManifestLoader.update_semantic_modelÝ  se   € ð ×*Ñ*¨1Ò-ØŸ™×+Ñ+¨N×,KÑ,KÈAÑ,NÑOˆIÜ+7Ø'×5Ñ5Ø—o‘oØ%×,Ñ,Ø"×+Ñ+ô	,ˆNÕ(ð .r“   c                 ó^  — | j                   j                  j                  «       D ]U  }|j                  | j                  k  rŒt        ||| j                   |j                  «      }t        ||| j                   «       ŒW | j                   j                  j                  «       D ]U  }|j                  | j                  k  rŒt        ||| j                   |j                  «      }t        ||| j                   «       ŒW | j                   j                  j                  «       D ]J  }|j                  | j                  k  rŒt        ||| j                   |j                  «      }t        ||«       ŒL | j                   j                  j                  «       D ]J  }|j                  | j                  k  rŒt        ||| j                   |j                  «      }t        ||«       ŒL | j                   j                  j                  «       D ]J  }|j                  | j                  k  rŒt        ||| j                   |j                  «      }t        ||«       ŒL | j                   j                   j                  «       D ]J  }|j                  | j                  k  rŒt        ||| j                   |j                  «      }t#        ||«       ŒL | j                   j$                  j                  «       D ]J  }	|	j                  | j                  k  rŒt        ||	| j                   |j                  «      }t'        ||	«       ŒL y rï   )rü   r•  r;  rß  r  r*   rÖ   Ú_process_docs_for_noderB  Ú_process_docs_for_sourcerÚ  Ú_process_docs_for_macrorS  Ú_process_docs_for_exposurerT  Ú_process_docs_for_metricsrU  Ú _process_docs_for_semantic_modelr`  Ú_process_docs_for_saved_query)
rí   r  r›  ÚctxÚsourcerè  rX  rY  rZ  rc  s
             r‘   rK  zManifestLoader.process_docsï  sÎ  € Ø—M‘M×'Ñ'×.Ñ.Ó0ò 		=ˆDØ�‰ §¡Ò0ØÜ/ØØØ—‘Ø×#Ñ#ó	ˆCô # 3¨¨d¯m©mÕ<ð		=ð —m‘m×+Ñ+×2Ñ2Ó4ò 		AˆFØ× Ñ  4§?¡?Ò2ØÜ/ØØØ—‘Ø×#Ñ#ó	ˆCô % S¨&°$·-±-Õ@ð		Að —]‘]×)Ñ)×0Ñ0Ó2ò 		0ˆEØ×Ñ $§/¡/Ò1ØÜ/ØØØ—‘Ø×#Ñ#ó	ˆCô $ C¨Õ/ð		0ð Ÿ™×/Ñ/×6Ñ6Ó8ò 		6ˆHØ×"Ñ" T§_¡_Ò4ØÜ/ØØØ—‘Ø×#Ñ#ó	ˆCô ' s¨HÕ5ð		6ð —m‘m×+Ñ+×2Ñ2Ó4ò 		3ˆFØ× Ñ  4§?¡?Ò2ØÜ/ØØØ—‘Ø×#Ñ#ó	ˆCô & c¨6Õ2ð		3ð #Ÿm™m×;Ñ;×BÑBÓDò 		BˆNØ×(Ñ(¨4¯?©?Ò:ØÜ/ØØØ—‘Ø×#Ñ#ó	ˆCô -¨S°.ÕAð		Bð  Ÿ=™=×6Ñ6×=Ñ=Ó?ò 	<ˆKØ×%Ñ%¨¯©Ò7ØÜ/Ø˜ T§]¡]°F×4GÑ4GóˆCô *¨#¨{Õ;ñ	<r“   c                 óÌ  — | j                   j                  j                  «       D ]c  }|j                  t        j
                  k(  rŒ!t        |t        «      rJ ‚|j                  | j                  k  rŒMt        | j                   ||«       Œe | j                   j                  j                  «       D ]3  }|j                  | j                  k  rŒt        | j                   ||«       Œ5 y rï   )rü   r•  r;  rË  r^   ÚSourcer¯   rB   rß  r  Ú_process_sources_for_noderS  Ú_process_sources_for_exposure)rí   rP  r›  rX  s       r‘   rG  zManifestLoader.process_sources7  sº   € Ø—M‘M×'Ñ'×.Ñ.Ó0ò 	LˆDØ×!Ñ!¤X§_¡_Ò4ØÜ! $Ô(8Ô9Ð9Ð9Ø�‰ §¡Ò0ØÜ% d§m¡m°_ÀdÕKð	Lð Ÿ™×/Ñ/×6Ñ6Ó8ò 	TˆHØ×"Ñ" T§_¡_Ò4ØÜ)¨$¯-©-¸È(ÕSñ	Tr“   c                 óh  — d }t        | j                  j                  j                  «       «      }|D ]~  }|| j                  j                  v r| j                  j                  |   }nŒ6|j                  | j
                  k  rŒP|st        | j                  «      }t        | j                  |||«       Œ€ y rï   )rÚ   rü   Ú
unit_testsr6  rß  r  Ú_build_model_names_to_versionsru   )rí   rP  Úmodels_to_versionsÚunit_test_unique_idsÚunit_test_unique_idÚ	unit_tests         r‘   rJ  z!ManifestLoader.process_unit_testsG  sŸ   € Ø!ÐÜ# D§M¡M×$<Ñ$<×$AÑ$AÓ$CÓDÐØ#7ò 	Ðð # d§m¡m×&>Ñ&>Ñ>Ø ŸM™M×4Ñ4Ð5HÑI‘	àØ×#Ñ# d§o¡oÒ5ØÙ%Ü%CÀDÇMÁMÓ%RÐ"Ü(Ø—‘˜°	Ð;Mõñ	r“   c                 ól  — | j                   j                  j                  «       D ]3  }|j                  | j                  k  rŒt        | j                   ||«       Œ5 | j                   j                  j                  «       D ]3  }|j                  | j                  k  rŒt        | j                   ||«       Œ5 y rï   )rü   r•  r;  rß  r  Ú_process_functions_for_noderW  )rí   rP  r›  r[  s       r‘   rO  z ManifestLoader.process_functions\  s”   € Ø—M‘M×'Ñ'×.Ñ.Ó0ò 	NˆDØ�‰ §¡Ò0ØÜ'¨¯©°ÈÕMð	Nð
 Ÿ™×/Ñ/×6Ñ6Ó8ò 	RˆHØ×"Ñ" T§_¡_Ò4ØÜ'¨¯©°ÈÕQñ	Rr“   c                 ón  — g }| j                   j                  j                  «       D ]O  }|j                  j                  rŒ|j                  |j                  «       | j                   j                  |«       ŒQ |D ]'  }| j                   j                  j                  |«       Œ) t        | j                   j                  «      }|j                  «       D ]Å  }|D ]¾  }|j                  j                  sŒt        |«      D ]|  \  }}| j                   j                  |j                     |= | j                   j                  |j                     rŒN| j                   j                  j                  |j                  «       Œ~ | j                   j                  |«       ŒÀ ŒÇ | j                   j                  «        y rï   )rü   r•  r;  r  ÚenabledrÊ  r˜  Úadd_disabled_nofilerø  r   rý  Ú	enumeraterþ  r=  )rí   Údisabled_nodesr›  r˜  Údisabled_copyrý  Ú	dis_indexÚdis_nodes           r‘   r@  zManifestLoader.cleanup_disabledg  s]  € ð ˆØ—M‘M×'Ñ'×.Ñ.Ó0ò 	8ˆDØ—;‘;×&Ó&Ø×%Ñ% d§n¡nÔ5Ø—‘×1Ñ1°$Õ7ð	8ð (ò 	/ˆIØ�M‰M×Ñ×#Ñ# IÕ.ð	/ô ! §¡×!7Ñ!7Ó8ˆØ%×,Ñ,Ó.ò 		8ˆHØ ò 8�Ø—;‘;×&Ó&Ü/8¸Ó/Bò GÑ+˜	 8à ŸM™M×2Ñ2°4·>±>ÑBÀ9ÐMØ#Ÿ}™}×5Ñ5°d·n±nÓEØ ŸM™M×2Ñ2×6Ñ6°t·~±~ÕFð	Gð —M‘M×1Ñ1°$Õ7ñ8ð		8ð 	�‰×(Ñ(Õ*r“   c                 ó  — | j                   }|j                  j                  «       D �ch c]  }|j                  ’Œ }}|j                  j                  «       D ]  }| j                  ||«       Œ |j                  j                  «       D ]  }| j                  ||«       Œ |j                  j                  «       D ]  }| j                  ||«       Œ |j                  j                  «       D ]  }| j                  ||«       Œ y c c}w rï   )	rü   Úgroupsr;  r‚  rT  Úcheck_valid_group_config_noderU  r`  r•  )rí   rü   ÚgroupÚgroup_namesrY  rZ  rc  r›  s           r‘   rP  z'ManifestLoader.check_valid_group_config€  sù   € Ø—=‘=ˆØ/7¯©×/EÑ/EÓ/GÖH e�u—z“zÐHˆÐHà×&Ñ&×-Ñ-Ó/ò 	DˆFØ×.Ñ.¨v°{ÕCð	Dð '×6Ñ6×=Ñ=Ó?ò 	LˆNØ×.Ñ.¨~¸{ÕKð	Lð $×1Ñ1×8Ñ8Ó:ò 	IˆKØ×.Ñ.¨{¸KÕHð	Ið —N‘N×)Ñ)Ó+ò 	BˆDØ×.Ñ.¨t°[ÕAñ	Bùò Is   ©DÚgroupable_nodeÚvalid_group_namesc           
      óœ   — |j                   }|r>||vr9t        j                  j                  d|› dt	        t        |«      «      › �|¬«      ‚y y )NzInvalid group 'z', expected one of ©r›  )r–  rU  rV  rW  rg  rÚ   )rí   r˜  r™  Úgroupable_node_groups       r‘   r•  z,ManifestLoader.check_valid_group_config_node�  sd   € ð
  .×3Ñ3ÐÙÐ$8Ð@QÑ$QÜ—.‘.×-Ñ-Ø!Ð"6Ð!7Ð7JÌ6ÔRVÐWhÓRiÓKjÐJkÐlØ#ð .ó ð ð %RÐr“   c                 ó:  — | j                   j                  j                  «       D ]t  }t        |t        «      sŒ|j
                  t        j                  k(  sŒ2|j                  «       dk(  sŒFt        |j                  |j
                  |j                  «       ¬«      ‚ y )NÚ	ephemeral)r˜  Úfield_valueÚmaterialization)rü   r•  r;  r¯   r<   Úaccessr]   ÚPublicÚget_materializationrX   r˜  ©rí   r›  s     r‘   rQ  z*ManifestLoader.check_valid_access_propertyœ  sx   € Ø—M‘M×'Ñ'×.Ñ.Ó0ò 
	ˆDä˜4¤Õ+Ø—K‘K¤:×#4Ñ#4Ó4Ø×,Ñ,Ó.°+Ó=ä,Ø"Ÿn™nØ $§¡Ø$(×$<Ñ$<Ó$>ôð ñ
	r“   c                 óú   — | j                   j                  j                  «       D ]T  }|j                  t        j
                  k7  rŒ!|j                  | j                  k  rŒ;|j                  j                  «        ŒV y rï   )
rü   r•  r;  rË  r^   ÚSnapshotrß  r  r  Úfinal_validater¤  s     r‘   rR  z*ManifestLoader.check_valid_snapshot_config©  s`   € ð —M‘M×'Ñ'×.Ñ.Ó0ò 	)ˆDØ×!Ñ!¤X×%6Ñ%6Ò6ØØ�‰ §¡Ò0ØØ�K‰K×&Ñ&Õ(ñ	)r“   c           
      ó¬  — | j                   j                  | j                  j                  ¬«      �rá| j                   j                  j                  «       D �]¸  }|j                  j                  dk(  sŒ|j                  j                  dk(  sŒ8|j                  j                  }|€-t        j                  j                  d|j                  › d�«      ‚t        |t        «      s9t        j                  j                  d|j                  › dt!        |«      › d�«      ‚|j                  j"                  }|€-t        j                  j                  d|j                  › d�«      ‚t        |t        «      r'	 t%        j&                  |«      }||j                  _        t        |t$        «      s9t        j                  j                  d|j                  › d
t!        |«      › d�«      ‚|j                  j*                  }t,        D �cg c]  }|j.                  ‘Œ }}||vr3t        j                  j                  d|j                  › d|› d|› d�«      ‚|j                  j0                  }t        |t2        «      s;|�9t        j                  j                  d|j                  › dt!        |«      › d�«      ‚|j                  j4                  }t        |t6        «      r�Œ~|€�Œ‚t        j                  j                  d|j                  › dt!        |«      › d�«      ‚ y y # t(        $ r1 t        j                  j                  d|j                  › d	|› d�«      ‚w xY wc c}w )N©rÖ   r¸  r¹  úMicrobatch model 'z`' must provide an 'event_time' (string) config that indicates the name of the event time column.z?' must provide an 'event_time' config of type string, but got: rÝ  z{' must provide a 'begin' (datetime) config that indicates the earliest timestamp the microbatch model should be built from.zI' must provide a 'begin' config of valid datetime (ISO format), but got: z;' must provide a 'begin' config of type datetime, but got: z4' must provide a 'batch_size' config that is one of z, but got: zD' must provide the optional 'lookback' config as type int, but got: z).zU' optional 'concurrent_batches' config must be of type `bool` if specified, but got: )rü   Úuse_microbatch_batchesrô   rÖ   r•  r;  r  r¼  r½  Ú
event_timerU  rV  rW  r‚  r¯   r±   r˜   Úbeginr   r¦   r{  Ú
batch_sizer   r¯  Úlookbackr°   Úconcurrent_batchesrð   )	rí   r›  r¬  r­  r®  ÚsizeÚvalid_batch_sizesr¯  r°  s	            r‘   rS  z,ManifestLoader.check_valid_microbatch_config³  s•  € Ø�=‰=×/Ñ/¸T×=NÑ=N×=[Ñ=[Ð/Õ\ØŸ™×+Ñ+×2Ñ2Ó4ó 9�à—K‘K×,Ñ,°Ó=ØŸ™×8Ñ8¸LÓHð "&§¡×!7Ñ!7�JØ!Ð)Ü!Ÿn™n×9Ñ9Ø0°·±°ð  <\ð  ]óð ô & j´#Ô6Ü!Ÿn™n×9Ñ9Ø0°·±°Ð;zÔ{ð  AKó  |Lð  {Mð  MNð  Oóð ð !ŸK™K×-Ñ-�EØ�}Ü!Ÿn™n×9Ñ9Ø0°·±°ð  <wð  xóð ô " %¬Ô-ðÜ$,×$:Ñ$:¸5Ó$A˜EØ05˜DŸK™KÔ-ô & e¬XÔ6Ü!Ÿn™n×9Ñ9Ø0°·±°Ð;vÔw{ð  }Bó  xCð  wDð  DEð  Fóð ð "&§¡×!7Ñ!7�JÜ@IÖ(J¸¨¯«Ð(JÐ%Ð(JØ!Ð):Ñ:Ü!Ÿn™n×9Ñ9Ø0°·±°Ð;oð  qBð  pCð  CNð  OYð  NZð  Z[ð  \óð ð
  $Ÿ{™{×3Ñ3�HÜ% h´Ô4¸Ð9MÜ!Ÿn™n×9Ñ9Ø0°·±°Ð;ô  AEð  FNó  AOð  @Pð  PRð  Sóð ð
 *.¯©×)GÑ)GÐ&Ü%Ð&8¼$Ö?ÐDVÒDbÜ!Ÿn™n×9Ñ9Ø0°·±°ð  <Qô  RVð  Wió  Rjð  Qkð  kmð  nóð ño9ð ]øô:  )ò Ü"%§.¡.×"=Ñ"=Ø"4°T·Y±Y°Kð  @Ið  JOð  IPð  PQð  !Ró#ð ðüò )Ks   Å2&LÇ?MÌ:Mc                 óä  — | j                   j                  | j                  j                  ¬«      rÀt	        | j                  «      }|j                  t        j                  «      s‹d}| j                   j                  j                  «       D ]7  }t        |j                  d«      sŒ|j                  j                  du sŒ3|dz  }Œ9 |dkD  r%t        t        ||j                  «       ¬«      «       y y y y )Nr©  r   r°  Tr–   )Ú
num_modelsÚadapter_type)rü   r«  rô   rÖ   r   Úsupportsr   ÚMicrobatchConcurrencyr•  r;  Úhasattrr  r°  rƒ   rG   r˜   )rí   r'  Ú!models_forcing_concurrent_batchesr›  s       r‘   r\  z.ManifestLoader.check_forcing_batch_concurrencyð  sÒ   € Ø�=‰=×/Ñ/¸T×=NÑ=N×=[Ñ=[Ð/Ô\Ü! $×"3Ñ"3Ó4ˆGà×#Ñ#¤J×$DÑ$DÔEØ45Ð1Ø ŸM™M×/Ñ/×6Ñ6Ó8ò ?�Dä §¡Ð-AÕBØ ŸK™K×:Ñ:¸dÒBà9¸QÑ>Ñ9ð?ð 5°qÒ8Ü!Ü6Ø'HØ)0¯©«ôõð 9ð Fð ]r“   c                 ó¾  — | j                   j                  | j                  j                  ¬«      �r,| j                   j                  j                  «       D �]  }|j                  j                  dk(  sŒ|j                  j                  dk(  sŒ8d}|j                  j                  D ]�  }| j                   j                  |¬«      }|j                  j                  }|sŒ8t        |t        «      sFt        j                  j!                  d|j"                  › d|j"                  › dt%        |«      › d	�«      ‚d
}Œ‘ |rŒåt'        t)        |j"                  ¬«      «       �Œ y y )Nr©  r¸  r¹  F)r˜  rª  z' depends on an input node 'z<' with an 'event_time' config of invalid (non-string) type: rÝ  T)r�  )rü   r«  rô   rÖ   r•  r;  r  r¼  r½  rã  Úexpectr¬  r¯   r±   rU  rV  rW  r‚  r˜   r�   rI   )rí   r›  Ú has_input_with_event_time_configÚinput_unique_idÚ
input_nodeÚinput_event_times         r‘   r]  z:ManifestLoader.check_microbatch_model_has_a_filtered_input  sM  € Ø�=‰=×/Ñ/¸T×=NÑ=N×=[Ñ=[Ð/Õ\ØŸ™×+Ñ+×2Ñ2Ó4ó [�à—K‘K×,Ñ,°Ó=ØŸ™×8Ñ8¸LÓHð 8=Ð4Ø+/¯?©?×+@Ñ+@ò D˜Ø%)§]¡]×%9Ñ%9ÀOÐ%9Ó%T˜
Ø+5×+<Ñ+<×+GÑ+GÐ(Ú+Ü#-Ð.>ÄÔ#DÜ&)§n¡n×&AÑ&AØ&8¸¿¹¸ÐC_Ð`j×`oÑ`oÐ_pð  qmô  nrð  sCó  nDð  mEð  EFð  %Gó'"ð !"ð @DÑ<ðDò <Ü"Ô#CÈtÏyÉyÔ#YÖZñ%[ð ]r“   c           	      ó0  — | j                   j                  j                  «       D ]o  }d}|j                  D ]\  }|s|j                  �d}Œ|sŒ|j                  �Œ$t
        j                  j                  d|j                  › d|j                  › d�«      ‚ Œq y )NFTzNon-defaulted argument 'z' of function 'zc' comes after a defaulted argument. Non-defaulted arguments cannot come after defaulted arguments. )	rü   rW  r;  Ú	argumentsÚdefault_valuerU  rV  rW  r‚  )rí   r[  Úfound_default_valueÚarguments       r‘   r^  z8ManifestLoader.check_function_default_arguments_ordering  sž   € ØŸ™×/Ñ/×6Ñ6Ó8ò 	ˆHØ"'ÐØ$×.Ñ.ò �Ù*¨x×/EÑ/EÐ/QØ*.Ñ'Ú(¨X×-CÑ-CÑ-KÜŸ.™.×5Ñ5Ø2°8·=±=°/ÀÐQY×Q^ÑQ^ÐP_ð  `Cð  Dóð ñ	ñ	r“   Útarget_pathc                 óþ   — t         j                  j                  |t        «      }t	        |t        j                  | j                  t        j                  j                  d¬«      «       t        t        |¬«      «       y )Né   )r&  Úindent)rÖ  )r  rÖ  r³  ÚPERF_INFO_FILE_NAMEr|   ÚjsonÚdumpsr  rU  ÚutilsÚJSONEncoderr�   rM   )rí   rÅ  rÖ  s      r‘   r  zManifestLoader.write_perf_info&  sK   € Ü�w‰w�|‰|˜KÔ)<Ó=ˆÜ�4œŸ™ D§O¡O¼¿¹×9NÑ9NÐWXÔYÔZÜÔ$¨$Ô/Õ0r“   c                 ó,  — i }| j                   j                  j                  «       D ]^  \  }}t        |t        «      sŒ|j
                  sŒ$|j
                  |vrg ||j
                  <   ||j
                     j                  |«       Œ` | j                   j                  j                  «       D ]e  \  }}|D ][  }t        |t        «      sŒ|j
                  sŒ!|j
                  |vrg ||j
                  <   ||j
                     j                  |«       Œ] Œg |S )z]Return a list of generic tests that are attached to the given model, including disabled tests)rü   r•  r»  r¯   r8   Úattached_noderÊ  rý  )rí   Úmodel_to_generic_tests_maprÀ  r›  r•  Údisabled_nodes         r‘   re  z/ManifestLoader.build_model_to_generic_tests_map+  s
  € àGIÐ"Ø—}‘}×*Ñ*×0Ñ0Ó2ò 	L‰GˆAˆtÜ˜$¤Õ0°T×5GÓ5GØ×%Ñ%Ð-GÑGØEGÐ.¨t×/AÑ/AÑBØ*¨4×+=Ñ+=Ñ>×EÑEÀdÕKð		Lð
 Ÿ™×.Ñ.×4Ñ4Ó6ò 	b‰HˆAˆuØ!&ò b�Ü˜m¬_Õ=À-×B]ÓB]Ø$×2Ñ2Ð:TÑTØRTÐ2°=×3NÑ3NÑOØ.¨}×/JÑ/JÑK×RÑRÐS`Õañ	bð	bð *Ð)r“   )NN)r¬   N)F)Dr¿   rÀ   rÁ   r%   r   r±   r   r   r4   r
   rj   r  Úclassmethodrð   r-  r   r   r7  rY  rZ  r[  r9  r   r   r`   r<  rÃ  rÄ  rX  rF  r   r  r:  r
  r  r  r#  rG  rL  r$  r$   rH  rL  rM  rN  rV  rK  rG  rJ  rO  r@  rP  r   r;   r>   rA   r:   r   r•  rQ  rR  rS  r\  r]  r^  r  r8   re  rÌ   r“   r‘   ró   ró   î   sÈ  „ ð
 ;?Ø(,ñ$Yà#ð$Yð ˜c =Ð0Ñ1ð$Yð ˜X x j°# oÑ6Ñ7ð	$Yð
 ˜HÑ%ð$Yð 
ó$YðP ð
 )-ØØò;àð;ð ˜HÑ%ð	;ð
 ð;ð 
ò;ó ð;ð|~�hó ~ð@?$Ètð ?$ÐX\ó ?$òB#òJ,ó\Yò" ð8G
àðG
ð ˜4 ™<Ñ(ð	G
ð
 
óG
òT
ò=ò.ð"' tó 'ð6;%¨Hð ;%¸¸tÀXÈcÁ]Ð?RÑ9Só ;%òzð"+°¸(Ñ1Có +òZò"GòR.òð( ð
 ñ	.à"ð.ð ˜h˜Z¨˜_Ñ-ð.ð
 
ò.ó ð.ò$
ð.R¨Cð R¸xÈÐPSÐU\ÐP\ÑH]Ñ?^ó Rð2P mó Pð S¨Mó Sò43ó 
ð$C< =ó C<ðPT¨só Tð °#ó ð*	R°ó 	Rò+ò2Bð 
à˜f j°-ÀÐMÑNð
ð ˜s™8ó
òò)ò;ózò*[ò,	ð1¨3ó 1ð
*°$°s¸DÀÑ<QÐ7QÑ2Rô *r“   ró   Útarget_nameÚtarget_kindÚtarget_packageÚtarget_versionrý  Úshould_warn_if_disabledc                 óÌ  — | j                   t        j                  k(  r·|r`t        | j                   j	                  «       | j
                  | j                  |||r|nd¬«      }t        ||rt        j                  nd «       y t        t        | j                  | j
                  | j                   j	                  «       |||r|ndt        |«      ¬«      «       y t        | |||||¬«      ‚)Nr®   )Úresource_type_titler˜  r§  rÔ  rÓ  rÕ  )r§  r˜  rÙ  rÓ  rÔ  rÕ  rý  )r›  rÓ  rÔ  rÕ  rÖ  rý  )rË  r^   ÚTestrH   Útitler˜  r§  r�   r€   r®  rƒ   rJ   r±   rY   )r›  rÓ  rÔ  rÕ  rÖ  rý  r×  Úevents           r‘   Úinvalid_target_fail_unless_testrÝ  <  sÎ   € ð ×ÑœXŸ]™]Ò*ÙÜ3Ø$(×$6Ñ$6×$<Ñ$<Ó$>ØŸ.™.Ø#'×#:Ñ#:Ø'Ø'Ù1?™~ÀRôˆEô �uÑ1HœjŸošoÈdÕSäÜ&Ø'+×'>Ñ'>Ø"Ÿn™nØ(,×(:Ñ(:×(@Ñ(@Ó(BØ +Ø +Ù5C¡>ÈÜ  ›]ôõ
ô "ØØ#Ø#Ø)Ø)Øô
ð 	
r“   r›  Útarget_modelÚref_package_namerP  c                 óº   — | j                   |k7  rL|j                   |k(  r<||k7  r6t        t        | j                  | j                   |j                  ¬«      «       yyyy)zÝ
    Args:
        node: The node that specifies the ref
        target_model: The node that is being ref'd to
        ref_package_name: The package name specified in the ref
        current_project: The root project
    )Ú	node_namer™  Úroot_project_unique_idN)r™  rƒ   rK   r‚  r˜  )r›  rÞ  rß  rP  s       r‘   Ú1warn_if_package_node_depends_on_root_project_noderã  h  s`   € ð 	×Ñ˜_Ò,Ø×%Ñ%¨Ò8Ø Ò/äÜ/ØŸ)™)Ø!×.Ñ.Ø'3×'=Ñ'=ôõ	
ð 0ð 9ð 	-r“   rü   c                 ó°  — i }| j                   j                  «       D ]¶  }|j                  t        j                  k7  rŒ!|j
                  sŒ.|j                  |vri ||j                  <   |j                  ||j                     vrg ||j                     |j                  <   ||j                     |j                     j                  |j                  «       Œ¸ |S rï   )
r•  r;  rË  r^   ÚModelÚis_versionedr™  r‚  rÊ  r˜  )rü   Úmodel_names_to_versionsr›  s      r‘   r„  r„  ƒ  sÇ   € Ø/1ÐØ—‘×%Ñ%Ó'ò 	UˆØ×Ñ¤§¡Ò/ØØ× Ò ØØ×ÑÐ$;Ñ;Ø9;Ð# D×$5Ñ$5Ñ6Ø�9‰9Ð3°D×4EÑ4EÑFÑFØDFÐ# D×$5Ñ$5Ñ6°t·y±yÑAØ × 1Ñ 1Ñ2°4·9±9Ñ=×DÑDÀTÇ^Á^ÕTð	Uð #Ð"r“   r  c                 ó‚  — i }i }| j                   j                  «       D �]†  \  }}|j                  sŒ|j                  |vri i dœ||j                  <   ||j                     d   j	                  |j
                  «      }|�x|j                  slt        «       j                  rt        ||«      ‚t        j                  j                  d|j
                  |j                  |j                  |j                  ¬«       |j                  r |||j                     d   |j
                  <   n|||j                     d   |j
                  <   t        |j                  j                   «      }|j#                  ||¬«      }t%        |«      }	|j	                  |	«      }
|
�t'        |
||	¬«      ‚|||	<   �Œ‰ |j)                  «       D ]„  }|d   j+                  «       }|d   j+                  «       }t-        |«      j/                  t-        |«      «      }|sŒO|D ]1  }|d   |   }|d   |   }t        j0                  j3                  ||«      ‚ Œ† y )N)ÚverÚunverrê  z.duplicate-name-distinct-node-types-deprecation)Úresource_nameÚ
unique_id1Ú
unique_id2r™  ré  )ÚquotingÚrelation_config)Únode_1Únode_2Ú
duped_name)r•  r»  Úis_relationalr™  r  r‚  ræ  r[   Ú%require_unique_project_resource_namesrW   rU  r±  r²  r˜  r   rÙ  r˜   Úcreate_fromr±   rV   r;  r6  rª  ÚintersectionrV  Ú"DuplicateVersionedUnversionedError)rü   r  Úalias_resourcesÚname_resourcesrÀ  r›  Úexisting_unversioned_nodeÚrelation_clsÚrelationÚfull_node_nameÚexisting_aliasÚver_unver_dictÚversioned_namesÚunversioned_namesÚintersection_versionedr‚  Úversioned_nodeÚunversioned_nodes                     r‘   Ú_check_resource_uniquenessr  ’  sH  € ð 02€OØ&(€Nà—>‘>×'Ñ'Ó)ó $/‰ˆˆ4Ø×!Ò!Øà×Ñ NÑ2Ø8:ÀRÑ0HˆN˜4×,Ñ,Ñ-à$2°4×3DÑ3DÑ$EÀgÑ$N×$RÑ$RÐSW×S\ÑS\Ó$]Ð!Ø$Ð0¸×9JÒ9JÜ‹{×@Ò@Ü0Ð1JÈDÓQÐQä× Ñ ×%Ñ%ØDØ"&§)¡)Ø8×BÑBØ#Ÿ~™~Ø!%×!2Ñ!2ð &ô ð ×ÒØBFˆN˜4×,Ñ,Ñ-¨eÑ4°T·Y±YÒ?àDHˆN˜4×,Ñ,Ñ-¨gÑ6°t·y±yÑAô 2°&×2DÑ2D×2IÑ2IÓJˆØ×+Ñ+°FÈDÐ+ÓQˆÜ˜X›ˆà(×,Ñ,¨^Ó<ˆØÐ%Ü%Ø%¨d¸~ôð ð +/ˆ˜Ó'ðI$/ðL )×/Ñ/Ó1ò 
ˆØ(¨Ñ/×4Ñ4Ó6ˆØ*¨7Ñ3×8Ñ8Ó:ÐÜ!$ _Ó!5×!BÑ!BÄ3ÐGXÓCYÓ!ZÐÚ!Ø.ò �Ø!/°Ñ!6°tÑ!<�Ø#1°'Ñ#:¸4Ñ#@Ð Ü—n‘n×GÑGØ"Ð$4óð ññ
r“   c           	      óÔ   — | j                  «       }t        d„ t        t        j                  | j
                  j                  «       «      «      D «       «      }|j                  ||«       y )Nc              3   óF   K  — | ]  }t        |j                  «      –— Œ y ­wrï   )ÚtupleÚfqn)r¨  Úns     r‘   r©  z9_warn_for_unused_resource_config_paths.<locals>.<genexpr>Î  s   è ø€ ò 'ØŒˆa�e‰e�ñ'ùs   ‚!)Úget_resource_fqnsÚ	frozensetrÚ   r	   Úfrom_iterablerý  r;  Ú%warn_for_unused_resource_config_paths)rü   r  Úresource_fqnsÚdisabled_fqnss       r‘   Ú&_warn_for_unused_resource_config_pathsr  Ì  sX   € Ø+3×+EÑ+EÓ+G€MÜ&ñ 'Ü"¤5×#6Ñ#6°x×7HÑ7H×7OÑ7OÓ7QÓ#RÓSô'ó €Mð ×0Ñ0°ÀÕNr“   c                 ó4   — t        | |«       t        | |«       y rï   )r  r  )rü   r  s     r‘   r!  r!  Ô  s   € Ü˜x¨Ô0Ü*¨8°VÕ<r“   ÚdescriptionÚnode_packagec                 ó   — t        | «      }g }t        |d«      s|S |j                  D �]  }|j                  D �]
  }t	        |t
        «      sŒt        |d«      sŒ"t        |d«      sŒ/t        |j                  d«      sŒF|j                  j                  dk(  sŒ`|j                  D �cg c]  }|j                  ‘Œ }}t        |«      dk(  rd |d   }
}	nt        |«      dk(  r|\  }	}
nŒ®|j                  j                  sŒÅ|j                  |
|	|j                  j                  |«      }|sŒð|j                  |j                  «       �Œ �Œ  |S c c}w )	NÚbodyr›  r«  r‚  Údocr–   r   r—   )rx   r¸  r  r•  r¯   r   r›  r‚  r«  r¯  r6  rÿ   rÖ   Úresolve_docrÊ  r˜  )r  rü   r  ÚastÚ
doc_blocksÚ	statementr›  ÚargÚdoc_argsÚpackager‚  Úresolved_docs               r‘   Ú_get_doc_blocksr   Ü  s,  € Ü
�Ó
€CØ€Jä�3˜ÔØÐà—X‘Xó >ˆ	Ø—O‘Oó 	>ˆDä˜4¤Õ&Ü˜D &Õ)Ü˜D &Õ)Ü˜DŸI™I vÕ.Ø—I‘I—N‘N eÓ+à15·±Ö;¨#˜CŸI›IÐ;�Ð;ä�x“= AÒ%Ø$(¨(°1©+˜T‘GÜ˜“] aÒ'Ø$,‘M�G™Tàà×(Ñ(×5Ò5Øà'×3Ñ3Ø˜' 8×#4Ñ#4×#AÑ#AÀ<ó �ò  Ø×%Ñ% l×&<Ñ&<Ö=ò3	>ð>ð8 Ðùò' <s   Â&Erë   c                 óL  — t        |j                  ||j                  «      |_        t	        |j                  | «      |_        |j
                  j                  «       D ]F  \  }}t        |j                  ||j                  «      |_        t	        |j                  | «      |_        ŒH y rï   )r   r  r™  r  r"   Úcolumnsr»  )rë   r›  rü   Úcolumn_nameÚcolumns        r‘   ru  ru    sŠ   € ô
 & d×&6Ñ&6¸À$×BSÑBSÓT€D„OÜ# D×$4Ñ$4°gÓ>€DÔà#Ÿ|™|×1Ñ1Ó3ò GÑˆ�VÜ+¨F×,>Ñ,>ÀÈ$×J[ÑJ[Ó\ˆÔÜ)¨&×*<Ñ*<¸gÓFˆÕñGr“   r}  c                 ó|  — t        |j                  ||j                  «      |_        t	        |j                  | «      |_        t	        |j
                  | «      |_        |j                  j                  «       D ]C  }t        |j                  ||j                  «      |_        t	        |j                  | «      |_        ŒE y rï   )r   r  r™  r  r"   Úsource_descriptionr"  r;  )rë   r}  rü   r$  s       r‘   rv  rv    s›   € ô
 (¨×(:Ñ(:¸HÀf×FYÑFYÓZ€FÔÜ% f×&8Ñ&8¸'ÓB€FÔä ,¨V×-FÑ-FÈÓ P€FÔà—.‘.×'Ñ'Ó)ò GˆÜ+¨F×,>Ñ,>ÀÈ&×J]ÑJ]Ó^ˆÔÜ)¨&×*<Ñ*<¸gÓFˆÕñGr“   rè  c                 ó’   — t        |j                  | «      |_        |j                  D ]  }t        |j                  | «      |_        Œ y rï   )r"   r  rÁ  )rë   rè  r  s      r‘   rw  rw  !  s>   € Ü$ U×%6Ñ%6¸Ó@€EÔØ�‰ò AˆÜ& s§¡¸Ó@ˆ�ñAr“   rX  c                 ó:   — t        |j                  | «      |_        y rï   ©r"   r  )rë   rX  s     r‘   rx  rx  (  s   € Ü'¨×(<Ñ(<¸gÓF€HÕr“   rY  c                 ó:   — t        |j                  | «      |_        y rï   r)  )rë   rY  s     r‘   ry  ry  ,  s   € Ü% f×&8Ñ&8¸'ÓB€FÕr“   rZ  c                 ó¨  — |j                   rt        |j                   | «      |_         |j                  D ]*  }|j                   sŒt        |j                   | «      |_         Œ, |j                  D ]*  }|j                   sŒt        |j                   | «      |_         Œ, |j                  D ]*  }|j                   sŒt        |j                   | «      |_         Œ, y rï   )r  r"   Ú
dimensionsÚmeasuresÚentities)rë   rZ  Ú	dimensionÚmeasureÚentitys        r‘   rz  rz  0  sÅ   € ð ×!Ò!Ü%1°.×2LÑ2LÈgÓ%VˆÔ"à#×.Ñ.ò Qˆ	Ø× Ó Ü$0°×1FÑ1FÈÓ$PˆIÕ!ðQð "×*Ñ*ò MˆØ×ÓÜ".¨w×/BÑ/BÀGÓ"LˆGÕðMð !×)Ñ)ò KˆØ×ÓÜ!-¨f×.@Ñ.@À'Ó!JˆFÕñKr“   rc  c                 óT   — |j                   rt        |j                   | «      |_         y y rï   )r  r"   )rë   rc  s     r‘   r{  r{  C  s%   € Ø×ÒÜ".¨{×/FÑ/FÈÓ"PˆÕð r“   rI  c                 óž  — |xs i }t        |t        «      ry|j                  D �]&  }d}|j                  }|j                  }|j
                  }t        |j                  «      dk  st        |j                  «      dkD  r5t        j                  j                  dt        |j                  «      › �«      ‚| j                  ||||||j                  «      }|�t        |t        «      r2d|j                  _        t!        ||d||t        |t        «      d¬«       Œó| j#                  |||«      rlt        j                  j%                  |j&                  |j&                  t(        j*                  t,        j.                  j1                  |j2                  «      ¬«      ‚| j5                  |||«      rOt        j                  j%                  |j&                  |j&                  t(        j6                  |j                  ¬«      ‚t9        «       j:                  st=        |||j                  |«       |j&                  }	|j>                  jA                  |	«       �Œ) y)	z<Given a manifest and node in that manifest, process its refsNr–   r—   z-Refs should always be 1 or 2 arguments - got Fr›  )r›  rÓ  rÔ  rÕ  rÖ  rý  r×  )r˜  Úref_unique_idr¡  Úscope)!r¯   r?   Úrefsr‚  r  r«   r6  Úpositional_argsrU  rV  ÚDbtInternalErrorÚresolve_refr™  r2   r  rŒ  rÝ  Úis_invalid_private_refÚDbtReferenceErrorr˜  r]   ÚPrivateÚ
dbt_commonrÌ  Úcast_to_strr–  Úis_invalid_protected_refÚ	Protectedr[   Ú-require_ref_searches_node_package_before_rootrã  rã  Úadd_node)
rü   rP  r›  rI  ÚrefrÞ  Útarget_model_nameÚtarget_model_packageÚtarget_model_versionÚtarget_model_ids
             r‘   rR  rR  H  s
  € ð
  Ò% 2€Lä�$œÔ!Øà�y‰yó 82ˆØ@DˆØ!$§¡ÐØ.1¯k©kÐØ69·k±kÐäˆs×"Ñ"Ó# aÒ'¬3¨s×/BÑ/BÓ+CÀaÒ+GÜ—.‘.×1Ñ1Ø?ÄÀC×DWÑDWÓ@XÐ?YÐZóð ð  ×+Ñ+ØØØ Ø ØØ×Ñó
ˆð Ð¤:¨l¼HÔ#Eð #(ˆD�K‰KÔÜ+ØØ-Ø"Ø3Ø3Ü$ \´8Ó<Ø(-õð Ø×,Ñ,¨T°<ÀÔNÜ—.‘.×2Ñ2ØŸ.™.Ø*×4Ñ4Ü!×)Ñ)Ü ×&Ñ&×2Ñ2°<×3EÑ3EÓFð	 3ó ð ð ×.Ñ.¨t°\À<ÔPÜ—.‘.×2Ñ2ØŸ.™.Ø*×4Ñ4Ü!×+Ñ+Ø"×/Ñ/ð	 3ó ð ô ‹{×HÒHÜ=Ø�l C§K¡K°ôð '×0Ñ0ˆØ�‰× Ñ  Ö1ñq82r“   c                 ó&  — t        |j                  j                  «      dkD  sJ ‚|j                  j                  D ]Ô  }| j                  |j                  ||j
                  ¬«      }|€/t        j                  j                  d|j                  › d�|¬«      ‚|j                  j                  du r<t        j                  j                  d|j                  › d	|j                  › d
�|¬«      ‚|j                  j                  |j                  «       ŒÖ y)z1For a given metric, set the `depends_on` propertyr   )Útarget_measure_namerP  r  Nz#A semantic model having a measure `z$` does not exist but was referenced.r›  FzThe measure `z,` is referenced on disabled semantic model `ú`.)r6  Útype_paramsÚinput_measuresÚ"resolve_semantic_model_for_measurer‚  r™  rU  rV  rW  r  rŒ  rã  rB  r˜  )rü   rP  rY  Úinput_measureÚtarget_semantic_models        r‘   Ú_process_metric_depends_onrP  �  s  € ô ˆv×!Ñ!×0Ñ0Ó1°AÒ5Ð5Ð5Ø×+Ñ+×:Ñ:ò DˆØ (× KÑ KØ -× 2Ñ 2Ø+Ø×,Ñ,ð !Ló !
Ðð
 !Ð(Ü—.‘.×-Ñ-Ø5°m×6HÑ6HÐ5IÐImÐnØð .ó ð ð !×'Ñ'×/Ñ/°5Ñ8Ü—.‘.×-Ñ-Ø × 2Ñ 2Ð3Ð3_Ð`u×`zÑ`zÐ_{Ð{}Ð~Øð .ó ð ð
 	×Ñ×"Ñ"Ð#8×#BÑ#BÕCñ#Dr“   c                 óx  — t        |j                  j                  «      dkD  ry|j                  t        j
                  u s|j                  t        j                  u rT|j                  j                  €
J |› d�«       ‚|j                  |j                  j                  «       t        | ||¬«       y|j                  t        j                  u rq|j                  j                  }|sJ |j                  › d�«       ‚|j                  |j                  «       |j                  |j                  «       t        | ||¬«       y|j                  t        j                  u s|j                  t        j                   u �r°|j"                  }|j                  t        j                   u ry|j                  j$                  �|j                  j&                  €!t(        j*                  j-                  d|¬«      ‚|j                  j$                  |j                  j&                  g}|D �]  }| j/                  |j                  d||j0                  ¬«      }|€<t(        j*                  j-                  d	|j                  › d
|j                  › d�|¬«      ‚t3        |t4        «      r/t(        j*                  j-                  d	|j                  › d�|¬«      ‚t7        | ||¬«       |j                  j                  D ]  }|j                  |«       Œ |j8                  j;                  |j<                  «       �Œ yt?        |j                  «       y)z<Sets a metric's `input_measures` and `depends_on` propertiesr   Nz0 should have a measure defined, but it does not.)rü   rP  rY  zE is a conversion metric and must have conversion_type_params defined.zHInvalid ratio metric. Both a numerator and denominator must be specifiedr›  )Útarget_metric_nameÚtarget_metric_packagerP  r  zThe metric `z/` does not exist but was referenced by metric `rJ  z,` is disabled and thus cannot be referenced.) r6  rK  rL  r˜   rˆ   ÚSIMPLEÚ
CUMULATIVEr0  Úadd_input_measurerP  Ú
CONVERSIONÚconversion_type_paramsr‚  Úbase_measureÚconversion_measureÚDERIVEDÚRATIOÚinput_metricsÚ	numeratorÚdenominatorrU  rV  rW  Úresolve_metricr™  r¯   r2   r]  rã  rB  r˜  r‡   )rü   rP  rY  rX  r]  Úinput_metricÚtarget_metricrN  s           r‘   r]  r]  ©  sî  € ô ˆ6×Ñ×,Ñ,Ó-°Ò1Øà‡{�{”j×'Ñ'Ñ'¨6¯;©;¼*×:OÑ:OÑ+Oà×Ñ×&Ñ&Ð2ð	GàˆXÐEÐFó	GØ2à× Ñ  ×!3Ñ!3×!;Ñ!;Ô<Ü"Ø¨Àvö	
ð 
�‰œ
×-Ñ-Ñ	-Ø!'×!3Ñ!3×!JÑ!JÐá"ð	aà�k‰kˆ]Ð_Ð`ó	aØ"à× Ñ Ð!7×!DÑ!DÔEØ× Ñ Ð!7×!JÑ!JÔKÜ"Ø¨Àvö	
ð 
�‰œ
×*Ñ*Ñ	*¨f¯k©k¼Z×=MÑ=MÒ.MØ×,Ñ,ˆØ�;‰;œ*×*Ñ*Ñ*Ø×!Ñ!×+Ñ+Ð3°v×7IÑ7I×7UÑ7UÐ7]Ü—n‘n×1Ñ1Ø^Øð 2ó ð ð $×/Ñ/×9Ñ9¸6×;MÑ;M×;YÑ;YÐZˆMà)ó 	@ˆLØ$×3Ñ3Ø#/×#4Ñ#4Ø&*Ø /Ø#×0Ñ0ð	 4ó ˆMð Ð$Ü—n‘n×1Ñ1Ø" <×#4Ñ#4Ð"5Ð5dÐek×epÑepÐdqÐqsÐtØð 2ó ð ô ˜M¬8Ô4Ü—n‘n×1Ñ1Ø" <×#4Ñ#4Ð"5Ð5aÐbØð 2ó ð ô
 !Ø!°?È=õð "/×!:Ñ!:×!IÑ!Iò 8�Ø×(Ñ(¨Õ7ð8à×Ñ×&Ñ& }×'>Ñ'>Ö?ñ1	@ô4 	  §¡Õ,r“   c                 óh  — t        |t        «      ryt        |t        «      r|j                  D �cg c]  }|g‘Œ }}n|j                  }|D ]à  }d}d}t	        |«      dk(  r|d   }n?t	        |«      dk(  r|\  }}n+t
        j                  j                  dt	        |«      › �«      ‚| j                  ||||j                  «      }|�t        |t        «      r0d|j                  _        t        ||d|t        |t        «      ¬«       Œº|j                  }|j                  j!                  |«       Œâ yc c}w )	zAGiven a manifest and a node in that manifest, process its metricsNr–   r   r—   z:Metric references should always be 1 or 2 arguments - got FrY  )r›  rÓ  rÔ  rÕ  rý  )r¯   r?   r>   rT  r6  rU  rV  r8  r`  r™  r2   r  rŒ  rÝ  r˜  rã  rB  )	rü   rP  r›  rY  rT  rb  rS  rR  Útarget_metric_ids	            r‘   r^  r^  ð  s6  € ô �$œÔ!ØÜ	�Dœ*Ô	%Ø*.¯,©,Ö7 �F’8Ð7ˆÑ7à—,‘,ˆàò $3ˆØ;?ˆà/3Ðäˆv‹;˜!ÒØ!'¨¡ÑÜ�‹[˜AÒØ8>Ñ5Ð!Ñ#5ä—.‘.×1Ñ1ØLÌSÐQWË[ÈMÐZóð ð !×/Ñ/ØØ!ØØ×Ñó	
ˆð Ð ¤J¨}¼hÔ$Gð #(ˆD�K‰KÔÜ+ØØ.Ø$Ø4Ü$ ]´HÓ=õð à(×2Ñ2Ðà�‰× Ñ Ð!1Õ2ñI$3ùò	 8s   °
D/c                 óÒ   — | j                   |   D ]U  }| j                  |«      }||j                  v r|j                  j                  |«       t	        j                  «       |_        ŒW y rï   )r—  r»  rp  Úremover  rß  )rü   Úexternal_node_unique_idÚchild_idr›  s       r‘   r÷  r÷  &  s[   € Ø×&Ñ&Ð'>Ñ?ò &ˆØ�‰˜xÓ(ˆà" d×&;Ñ&;Ñ;Ø×!Ñ!×(Ñ(Ð)@ÔAÜŸ)™)›+ˆ�ñ&r“   c           
      óF  — d }|j                   D ]�  \  }}| j                  ||||j                  «      }|�t        |t        «      r4d|j
                  _        t        ||› d|› �dt        |t        «      ¬«       Œj|j                  }|j                  j                  |«       Œ’ y ©NFrÝ  r}  )r›  rÓ  rÔ  rý  ©rB  Úresolve_sourcer™  r¯   r2   r  rŒ  rÝ  r˜  rã  rB  )rü   rP  rX  Útarget_sourceÚsource_nameÚ
table_nameÚtarget_source_ids          r‘   r�  r�  /  s¬   € ØAE€MØ#+×#3Ñ#3ò 7Ñˆ�ZØ ×/Ñ/ØØØØ×!Ñ!ó	
ˆð Ð ¤J¨}¼hÔ$GØ&+ˆH�O‰OÔ#Ü+ØØ*˜m¨1¨Z¨LÐ9Ø$Ü$ ]´HÓ=õ	ð Ø(×2Ñ2ÐØ×Ñ×$Ñ$Ð%5Õ6ñ#7r“   c           
      óF  — d }|j                   D ]�  \  }}| j                  ||||j                  «      }|�t        |t        «      r4d|j
                  _        t        ||› d|› �dt        |t        «      ¬«       Œj|j                  }|j                  j                  |«       Œ’ y rj  rk  )rü   rP  rY  rm  rn  ro  rp  s          r‘   Ú_process_sources_for_metricrr  E  sª   € ØAE€MØ#)§>¡>ò 5Ñˆ�ZØ ×/Ñ/ØØØØ×Ñó	
ˆð Ð ¤J¨}¼hÔ$GØ$)ˆF�M‰MÔ!Ü+ØØ*˜m¨1¨Z¨LÐ9Ø$Ü$ ]´HÓ=õ	ð Ø(×2Ñ2ÐØ×Ñ×"Ñ"Ð#3Õ4ñ#5r“   c           
      óh  — t        |t        «      ry d }|j                  D ]�  \  }}| j                  ||||j                  «      }|�t        |t
        «      r4d|j                  _        t        ||› d|› �dt        |t
        «      ¬«       Œj|j                  }|j                  j                  |«       Œ’ y rj  )r¯   r?   rB  rl  r™  r2   r  rŒ  rÝ  r˜  rã  rB  )rü   rP  r›  rm  rn  ro  rp  s          r‘   r€  r€  [  sµ   € Ü�$œÔ!ØàAE€MØ#'§<¡<ò 3Ñˆ�ZØ ×/Ñ/ØØØØ×Ñó	
ˆð Ð ¤J¨}¼hÔ$Gà"'ˆD�K‰KÔÜ+ØØ*˜m¨1¨Z¨LÐ9Ø$Ü$ ]´HÓ=õ	ð Ø(×2Ñ2ÐØ�‰× Ñ Ð!1Õ2ñ'3r“   c                 óþ  — t        |t        «      ry|j                  D ]Ý  }d}t        |«      dk(  r|d   }n?t        |«      dk(  r|\  }}n+t        j
                  j                  dt        |«      › �«      ‚| j                  ||||j                  «      }|�t        |t        «      r1d|j                  _        t        ||d|t        |t        «      d¬«       Œ¹|j                  j                  |j                  «       Œß y)	zAGiven a manifest and node in that manifest, process its functionsNr–   r   r—   z2Functions should always be 1 or 2 arguments - got Fr[  )r›  rÓ  rÔ  rÕ  rý  r×  )r¯   r?   rW  r6  rU  rV  r8  Úresolve_functionr™  r2   r  rŒ  rÝ  rã  rB  r˜  )rü   rP  r›  Úfunction_argsÚtarget_function_packageÚtarget_function_nameÚtarget_functions          r‘   rŠ  rŠ  v  s  € ô
 �$œÔ!ØàŸ™ò  <ˆà15ÐÜˆ}Ó Ò"Ø#0°Ñ#3Ñ Ü�Ó 1Ò$Ø<IÑ9Ð#Ñ%9ä—.‘.×1Ñ1ØDÄSÈÓEWÐDXÐYóð ð #×3Ñ3Ø Ø#ØØ×Ñó	
ˆð Ð"¤j°Ä(Ô&KØ"'ˆD�K‰KÔÜ+ØØ0Ø&Ø6Ü$ _´hÓ?Ø(-õð à�‰× Ñ  ×!:Ñ!:Õ;ñA <r“   c                 óL   — t        | ||| j                  «      }t        ||«       y rï   )r*   rÖ   rw  )r  rü   rè  r|  s       r‘   Úprocess_macror{  £  s*   € Ü
'ØØØØ×Ñó	€Cô ˜C Õ'r“   c                 óÀ   — t        || j                  |«       t        || j                  || j                  «       t	        | ||| j                  «      }t        |||«       y rï   )r€  rÖ   rR  rI  r*   ru  )r  rü   r›  r|  s       r‘   Úprocess_noder}  ¯  sP   € Ü˜h¨×(;Ñ(;¸TÔBÜ�(˜F×/Ñ/°°v×7JÑ7JÔKÜ
'¨°°hÀ×@SÑ@SÓ
T€CÜ˜3  hÕ/r“   rÅ  c                 ó„   — t         j                  j                  |t        «      }t	        | «      }|j                  |«       y rï   )r  rÖ  r³  r(   rC   Úwrite_json_to_file)rü   rÅ  rÖ  rj  s       r‘   Úwrite_semantic_manifestr€  ¶  s0   € Ü�7‰7�<‰<˜Ô%@ÓA€DÜ(¨Ó2ÐØ×(Ñ(¨Õ.r“   Úwhichc                 ó¢   — t         }t        j                  j                  ||«      }| j	                  |«       t        |«       t        | |¬«       y )N)rü   rÅ  )r&   r  rÖ  r³  rò  rv   r€  )rü   rÅ  r�  Ú	file_namerÖ  s        r‘   Úwrite_manifestr„  ¼  s9   € Ü"€IÜ�7‰7�<‰<˜ YÓ/€DØ‡N�N�4ÔÜ˜$Ôä X¸;ÖGr“   Úruntime_configr  rò  Ú
write_jsonÚactive_integrationsc                 ó  — t        | t        «       «       t        | «      }|j                  t        «       |D ]  }|j                  |«       Œ t        j                  | |¬«      }|r›|r™t        || j                  «       t        j                  | j                  «      }|j                  |«      }	|	j                  «       D ]@  \  }
}|j                  |
«       t!        t#        |j$                  j&                  |
¬«      «       ŒB |S )N)r  )Úartifact_typeÚartifact_path)r   r\   r   Úset_macro_context_generatorr.   Úadd_catalog_integrationró   r-  r„  r%  r   rù  rÖ   Úget_manifest_artifactsr»  rò  r�   rD   Ú	__class__r¿   )r…  r  rò  r†  r‡  r'  Úintegrationrü   r   Úplugin_artifactsrÖ  Úplugin_artifacts               r‘   Úparse_manifestr’  Å  sô   € ô �^¤^Ó%5Ô6Ü˜.Ó)€GØ×'Ñ'Ô(FÔGØ*ò 5ˆØ×'Ñ'¨Õ4ð5ä×/Ñ/ØØ'ð 0ó €Hñ ‘Ü�x ×!CÑ!CÔDÜ×'Ñ'¨×(CÑ(CÓDˆØ×4Ñ4°XÓ>ÐØ%5×%;Ñ%;Ó%=ò 	Ñ!ˆD�/Ø×!Ñ! $Ô'ÜÜØ"1×";Ñ";×"DÑ"DÐTXôõð	ð €Or“   )NNNTrï   )ørÊ  r  r1  r  rq  Úcopyr   Údataclassesr   r   r   r   r   Ú	itertoolsr	   Útypingr
   r   r   r   r   r   r   r   r   r   rŒ   Újinja2.nodesr   Údbt.deprecationsrU  Údbt.exceptionsÚdbt.trackingÚ	dbt.utilsÚdbt_common.utilsr=  r   Údbt.adapters.capabilityr   Údbt.adapters.factoryr   r   r   r   Údbt.artifacts.resourcesr   r   r   r   Údbt.artifacts.resources.typesr   Údbt.artifacts.schemas.baser    Údbt.clients.jinjar!   r"   Údbt.clients.jinja_staticr#   Ú
dbt.configr$   r%   Údbt.constantsr&   r'   r(   Údbt.context.configuredr)   Údbt.context.docsr*   Údbt.context.macro_resolverr+   r,   Údbt.context.providersr-   r.   Údbt.context.query_headerr/   Údbt.contracts.filesr0   r1   Údbt.contracts.graph.manifestr2   r3   r4   r5   r6   Údbt.contracts.graph.nodesr7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   Ú%dbt.contracts.graph.semantic_manifestrC   Údbt.events.typesrD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   Ú	dbt.flagsr[   Údbt.mp_contextr\   Údbt.node_typesr]   r^   Údbt.parser.analysisr_   Údbt.parser.baser`   Údbt.parser.docsra   Údbt.parser.fixturesrb   Údbt.parser.functionsrc   Údbt.parser.generic_testrd   Údbt.parser.hooksre   Údbt.parser.macrosrf   Údbt.parser.modelsrg   Údbt.parser.partialrh   ri   Údbt.parser.read_filesrj   rk   rl   rm   rn   Údbt.parser.schemasro   Údbt.parser.searchrp   Údbt.parser.seedsrq   Údbt.parser.singular_testrr   Údbt.parser.snapshotsrs   Údbt.parser.sourcesrt   Údbt.parser.unit_testsru   Údbt.utils.artifact_uploadrv   Údbt.versionrw   Údbt_common.clients.jinjarx   Údbt_common.clients.systemry   rz   r{   r|   Údbt_common.constantsr}   Údbt_common.dataclass_schemar~   r   Údbt_common.events.base_typesr€   Údbt_common.events.functionsr�   r‚   rƒ   Údbt_common.events.typesr„   Údbt_common.exceptions.baser…   Údbt_common.helper_typesr†   Ú&dbt_semantic_interfaces.enum_extensionr‡   Ú"dbt_semantic_interfaces.type_enumsrˆ   rÉ  r’   rŽ   r¤   r£   r±   r°   r²   r´   rÎ   rÕ   rÜ   ró   rð   rÝ  rã  r„  r  r  r!  ÚDocsContextCallbackr   ru  rv  rw  rx  ry  rz  r{  rR  rP  r]  r^  r÷  r�  rr  r€  rŠ  r{  r}  r€  r„  r’  rÌ   r“   r‘   ú<module>rÓ     sT  ðÛ Û 	Û Û Û Ý ß (ß -Ñ -Ý ß X× X× Xã Ý ã Û Û Û Û Ý Ý .÷ó ÷ó õ 4Ý /ß 6Ý Cß -÷ñ õ
 :Ý :ß Hß OÝ Bß ?÷õ ÷÷ ÷ ó õ C÷÷ ÷ ÷ ÷ ÷(õ õ  Ý )ß /Ý .Ý "Ý /Ý -Ý /Ý 5Ý 'Ý )Ý )ß F÷õ õ ,Ý 'Ý 'Ý 7Ý /Ý ,Ý >Ý ;Ý #Ý *ß XÓ XÝ 2ß >Ý 3ß TÑ TÝ (Ý 9Ý +Ý JÝ 9à&Ð òTòòOò+ð˜H U¨3°¨8¡_Ñ5ð ¸#ó ô
:�Gô 
:ð ô�ó ó ðð ô˜ó ó ðð ô˜¨ó ó ð÷0K*ñ K*ðd* %)Ø,0Ø#Ø$(ñ)
àð)
ð ð)
ð ˜S‘Mð	)
ð
 ˜[Ñ)ð)
ð �t‰nð)
ð "ó)
ðX
Ø
ð
àð
ð ˜s‘mð
ð ð	
ð
 
ó
ð6#¨Xð #¸$¸sÀD¸y¹/ó #ð7Øð7àð7ð 
ó7ðtO°Xð OÀ}ð OÐY]ó Oð=˜hð =°ð =À$ó =ð
  
˜|¨T°#°s°(©^Ð;Ñ<Ð ð# ð #°ð #Èð #ÐPTÐUXÑPYó #ðN
GØ�#�s�(‰^ð
Gà
ð
Gð ó
GðGØ�#�s�(‰^ðGàðGð óGð A T¨#¨s¨(¡^ð A¸Eð AÀdó AðG¨¨S°#¨X©ð GÀ(ð GÈtó GðC t¨C°¨H¡~ð C¸vð CÈ$ó CðKØ�#�s�(‰^ðKØ-:ðKà	óKð&Q¨4°°S°©>ð QÈ
ð QÐW[ó Qð
B2ØðB2Ø),ðB2ØBJÈ7ÐSVÐX_ÐS_ÑK`ÑBaðB2à	óB2ðJDØðDàðDð ðDð 
ó	Dð8D-ØðD-àðD-ð ðD-ð 
ó	D-ðN33Øð33àð33ð �˜f h°
Ð:Ñ
;ó33òl&ð7¨Hð 7Àsð 7ÐV^ó 7ð,5¨(ð 5ÀSð 5ÐRXó 5ð,3¨ð 3À3ð 3Èló 3ð6(<Øð(<Ø),ð(<Ø4@ð(<à	ó(<ðZ(˜-ð (°8ð (ÀEð (Èdó (ð0˜ð 0°(ð 0À,ó 0ð/ hð /¸Sð /ÀTó /ñH˜Xð H°Cð HÀÈÁó HðØ!ðàðð ðð ð	ð
 ˜hÐ'DÑEÑFðð ôr“   